如何强制matplotlib写出x轴标签的完整形式,避免科学记数法?

时间:2010-07-18 03:26:48

标签: python matplotlib

我用matplotlib.pyplot创建了一个简单的hexbin图。我没有更改任何默认设置。我的x轴信息范围从2003年到2009年,而y值的范围从15到35.而不是写出2003,2004等,matplotlib将其折叠为0,1,2,... + 2.003e + 03 。有没有一种简单的方法可以强制matplotlib写出完整的数字?

谢谢,
马克C.

1 个答案:

答案 0 :(得分:8)

我认为您可以使用xticks function设置字符串标签:

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

编辑:这是一种更好的方式:

gca().xaxis.set_major_formatter(FormatStrFormatter('%d'))
无论如何,

或类似的东西。 (在旧版本的Matplotlib中,该方法称为setMajorFormatter。)