首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抑制matplotlib中的科学表示法offsetText

抑制matplotlib中的科学表示法offsetText
EN

Stack Overflow用户
提问于 2021-07-05 15:44:17
回答 1查看 230关注 0票数 0

我在y轴上有一个用科学符号表示的图表。我想特别地抑制偏移量/ sci符号文本,即轴顶部的1e6

这与简单地关闭科学符号是不一样的,因为科学符号会使轴勾标签25000002000000等。我想保留它们的标签,但只需将小1e6隐藏在顶部(因为轴标签上已经写着“百万/年”)。有一个简单或‘正确’的方法来做这件事吗?

(我能想到的最明显的黑客就是简单地将所有由1e6绘制的数据除以,但这并不是那么容易概括,我想知道是否有一种不太像黑客的解决方案。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-05 16:23:16

为了避免1e7或更高的公共乘数出现错误,最好将值除以100万。一种方便的方法是使用滴答程序:

代码语言:javascript
复制
import matplotlib.pyplot as plt

fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(12, 4))
ax1.plot([0, 1.5e6])
ax1.yaxis.set_major_formatter(lambda x, pos: f'{x / 1e6:.1f}')
ax1.set_ylabel('incidents (millions/year)')
ax2.plot([0, 1.5e7])
ax2.yaxis.set_major_formatter(lambda x, pos: f'{x / 1e6:.1f}')
ax2.set_ylabel('incidents (millions/year)')
plt.tight_layout()
plt.show()

注意,在较早的matplotlib版本中,您不能直接设置格式化程序函数,因此需要显式的FuncFormatter

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68258827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档