如何防止图表中的数字被转换为指数形式

86 投票
6 回答
102296 浏览
提问于 2025-04-17 14:50

我在用Python的Matplotlib库来绘制简单的x-y数据集。这能生成看起来不错的图表,不过当我在图表的某些部分“放大”得太近时(通过执行plt.show()后出现的图形视图),x轴的数值就会从普通的数字形式(比如1050、1060、1070等)变成科学计数法的形式(例如1、1.5、2.0,x轴的标签显示为+1.057e3)。

我希望我的图表能保持简单的数字格式,而不是使用科学计数法。有没有办法可以强制Matplotlib这样做呢?

6 个回答

20

你可以使用类似下面的代码:

from matplotlib.ticker import ScalarFormatter, FormatStrFormatter

ax.xaxis.set_major_formatter(FormatStrFormatter('%.0f'))
37

你可以用一个更简单的命令来关闭它:

plt.ticklabel_format(useOffset=False)

撰写回答