如何强制matplotlib输出完整的x轴标签,避免使用科学计数法?

7 投票
1 回答
4597 浏览
提问于 2025-04-16 01:27

我用matplotlib.pyplot创建了一个简单的六边形图。没有改动任何默认设置。我的x轴数据从2003到2009,而y轴的数值范围是15到35。matplotlib没有直接显示2003、2004等数字,而是把它们压缩成了0、1、2,...加上2.003e+03的形式。有没有简单的方法可以让matplotlib显示完整的数字呢?

谢谢,
马克·C。

1 个回答

8

我觉得你可以使用xticks函数来设置字符串标签:

nums = arange(2003, 2010)
xticks(nums, (str(n) for n in nums))

补充:这是一种更好的方法:

gca().xaxis.set_major_formatter(FormatStrFormatter('%d'))

或者类似的东西,反正就是这样。(在旧版本的Matplotlib中,这个方法叫做setMajorFormatter。)

撰写回答