关于matplotlib轴上的千(K)和兆(M)后缀,这是一个常见的单位换算问题。在matplotlib中,我们可以使用ScalarFormatter
和FuncFormatter
来实现轴上的单位换算。
首先,我们需要导入所需的库和模块:
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
然后,我们可以使用FuncFormatter
来自定义单位换算函数:
def kilo_mega_formatter(x, pos):
if x >= 1e6:
return f"{x/1e6:.0f}M"
elif x >= 1e3:
return f"{x/1e3:.0f}K"
else:
return f"{x:.0f}"
接下来,我们可以使用FuncFormatter
来设置轴上的单位换算:
fig, ax = plt.subplots()
# 设置x轴和y轴的单位换算
ax.xaxis.set_major_formatter(ticker.FuncFormatter(kilo_mega_formatter))
ax.yaxis.set_major_formatter(ticker.FuncFormatter(kilo_mega_formatter))
# 绘制图形
ax.plot([1000, 10000, 100000], [1000, 10000, 100000])
# 显示图形
plt.show()
这样,我们就可以在matplotlib轴上使用千(K)和兆(M)后缀了。
领取专属 10元无门槛券
手把手带您无忧上云