代码之家  ›  专栏  ›  技术社区  ›  Mark C.

如何强制matplotlib写出x轴标签的完整形式,避免使用科学符号?

  •  7
  • Mark C.  · 技术社区  · 14 年前

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


    标记C。

    1 回复  |  直到 14 年前
        1
  •  8
  •   David Z    14 年前

    我想你可以用 xticks function 设置字符串标签:

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

    这是一个更好的方法:

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

    或者类似的,无论如何(在旧版本的Matplotlib中,调用了该方法 setMajorFormatter