我想在坐标轴上打印的值不是30000或7000000,而是30K或7M。这意味着当x < 10^6时添加K(kilo)后缀,当x >= 10^6时添加M(mega)后缀。我该怎么做?
当前代码段:
ax = pylab.gca()
formatter = matplotlib.ticker.FormatStrFormatter('%.f')
ax.xaxis.set_major_formatter(formatter)
我想在坐标轴上打印的值不是30000或7000000,而是30K或7M。这意味着当x < 10^6时添加K(kilo)后缀,当x >= 10^6时添加M(mega)后缀。我该怎么做?
当前代码段:
ax = pylab.gca()
formatter = matplotlib.ticker.FormatStrFormatter('%.f')
ax.xaxis.set_major_formatter(formatter)
2条答案
按热度按时间carvr3hs1#
到目前为止,我写的最好的代码是:
vuktfyat2#
您需要编写自己的函数,为各种条件应用后缀,并使用FuncFormatter而不是StrFormatter。This example应该涵盖您。