小编典典

如何防止数字在Python Matplotlib图中更改为指数形式

python

我在Python中使用Matplotlib绘制简单的xy数据集。这会生成漂亮的图形,尽管当我使用“图形视图”(执行时出现plt.show())在绘图图形的各个部分上“放大”得太近时,x轴值也会从标准数字格式(1050、1060,
1070等)转换为具有指数符号的科学形式(例如x,x轴标记为的1、1.5、2.0 +1.057e3)。

我希望我的图形保留轴的简单编号,而不要使用指数形式。有没有一种方法可以强制Matplotlib执行此操作?


阅读 210

收藏
2020-12-20

共1个答案

小编典典

刻度标签的格式由一个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全局控制。

2020-12-20