python-轴刻度不会随着matplotlib改变
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-轴刻度不会随着matplotlib改变,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1530字,纯文字阅读大概需要3分钟。
内容图文
![python-轴刻度不会随着matplotlib改变](/upload/InfoBanner/zyjiaocheng/685/5371592ac71242339136965f0af372ad.jpg)
我正在尝试使用具有以下x值的matplotlib进行绘制:
[1.1e19, 5.6e31, 1.1e32, 1.6e32, 2.2e32, 2.8e32]
但是,由于我的第一个x值相对于其他x值是如此之小,因此matplotlib为我提供了以下内容
autoscaled x-axis.
我的第一点是在y轴上.我希望这一点更加明显.
我试过了:
ax.set_xlim(1e16, 1e36)
ax.set_xlim(xmin=1e16, xmax=1e36)
ax.set_xbound(lower=1e16, upper=1e36)
无济于事.我可以更改x轴的上限,但不能更改下限.
编辑:
对于那些要求示例代码的人,这就是我正在运行的内容:
dose = np.array([1.1e19, 5.6e31, 1.1e32, 1.6e32, 2.2e32, 2.8e32])
counts = np.array([46, 31, 15, 16, 14, 13])
plt.rcParams['axes.formatter.useoffset'] = False
fig, ax = plt.subplots()
ax.plot(dose, counts, 'ob-')
ax.set_xlim(1e16, 1e36)
#ax.set_xlim(xmin=1e16, xmax=1e36)
#ax.set_xbound(lower=1e16, upper=1e36)
fig.tight_layout()
plt.show()
解决方法:
好消息,坏消息…
您的代码实际上正在工作.如果查看值ax.get_xlim(),将看到您设置的边界.
(使用Spyder / Ipython进行一些快速测试)
以下两个屏幕截图是您的绘图…线性轴和对数轴.
因此,看起来matplotlib对使用线性轴可以查看的范围的大小/比例有限制.小于上边界三到四个数量级的所有数据都将被压缩,以便在y轴上看起来正确
坏消息是我无法为这一挑战提供实际的解决方案……只是您没有做任何不正确的事情.也许是一个错误?我建议在matplotlib github page上打开一个问题,看看是否有更复杂的解决方案,或者其中一个开发人员有想法.
**注意:这不是错误,但是无论如何仍要与开发团队建立联系
如果您的上限为1e32,则在@PaulH之后:
1e31以0.1绘制
1e30被绘制为0.01
1e29以0.001绘制
…
1e16被绘制为0.0000000000000001
与您的下界无关.
所以这不是一个错误,即使下限是1e16,您也总是会不知不觉地将该点放在y轴附近…
内容总结
以上是互联网集市为您收集整理的python-轴刻度不会随着matplotlib改变全部内容,希望文章能够帮你解决python-轴刻度不会随着matplotlib改变所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。