我在Python中使用Matplotlib绘制简单的xy数据集。这会产生漂亮的图形,尽管当我使用“图形视图”(执行时出现plt.show())在绘图图形的各个部分上“放大”得太近时,x轴值也会从标准数字格式(1050、1060, 1070等)转换成具有指数符号的科学形式(例如x,x轴标记为的1、1.5、2.0 +1.057e3)。
plt.show()
1.057e3
我希望我的图形保留轴的简单编号,而不要使用指数形式。有没有一种方法可以强制Matplotlib执行此操作?
勾号标签的格式由Formatter对象控制ScalerFormatter,默认情况下,假设你未做任何花哨的操作,它将是。如果可见值的分数变化很小,则此格式化程序将使用恒定移位。为了避免这种情况,只需将其关闭:
Formatter
ScalerFormatter
plt.plot(arange(0,100,10) + 1000, arange(0,100,10)) ax = plt.gca() ax.get_xaxis().get_major_formatter().set_useOffset(False) plt.draw()
如果你想避免普遍采用科学计数法,
ax.get_xaxis().get_major_formatter().set_scientific(False)
可以通过axes.formatter.useoffsetrcparam 全局控制。