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

发布于 2024-09-10 05:08:26 字数 211 浏览 5 评论 0原文

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

谢谢,
马克·C.

I've created a simple hexbin plot with matplotlib.pyplot. I haven't changed any default settings. My x-axis information ranges from 2003 to 2009, while the y values range from 15 to 35. Rather than writing out 2003, 2004, etc., matplotlib collapses it into 0, 1, 2, ... + 2.003e+03. Is there a simple way to force matplotlib to write out the full numbers?

Thanks,
Mark C.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

新一帅帅 2024-09-17 05:08:26

我认为你可以使用 xticks 函数 设置字符串标签:

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

编辑:这是一个更好的方法:

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

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

I think you can use the xticks function to set string labels:

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

EDIT: This is a better way:

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

or something like that, anyway. (In older versions of Matplotlib the method was called setMajorFormatter.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文