注意
转至末尾 下载完整示例代码。
自定义刻度器#
在 matplotlib.ticker
模块中定义了许多预设刻度器,但它主要是为了可扩展性而设计的,也就是说,它支持用户自定义刻度。
在本示例中,使用用户定义的函数来格式化 Y 轴上的数百万美元刻度。
import matplotlib.pyplot as plt
def millions(x, pos):
"""The two arguments are the value and tick position."""
return f'${x*1e-6:1.1f}M'
fig, ax = plt.subplots()
# set_major_formatter internally creates a FuncFormatter from the callable.
ax.yaxis.set_major_formatter(millions)
money = [1.5e5, 2.5e6, 5.5e6, 2.0e7]
ax.bar(['Bill', 'Fred', 'Mary', 'Sue'], money)
plt.show()