微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 matplotlib 中自动获取第一个和最后一个轴标签的“好”值?

如何解决如何在 matplotlib 中自动获取第一个和最后一个轴标签的“好”值?

在这个图中,matplotlib 自动隐藏了第一个和最后一个标签。但是,所需的行为是始终显示一个和最后一个标签,并且也显示为“不错”的值。 'nice' 值,我的意思是轴的两个边界都应该出现一个主要的抽动。例如,在下图中,x 轴将从 -0.1 开始到 1.5 结束。同样,y 轴将从 -0.25 开始并在 2.00 结束。如何在 Matplotlib 中实现这一点?

预先感谢您的帮助。

enter image description here

解决方法

我解决了这个问题,首先让 matplotlib 找到理想的刻度位置,然后设置轴限制,以便在轴的两个边缘添加一个额外的刻度。

plt.figure()
plt.plot(xdata,data)
loc,labels = plt.xticks()    #returns the current tics and lables.
min_new = loc[0] - (loc[1]-loc[0])
max_new = loc[len(loc)-1] + (loc[1]-loc[0])
plt.xlim(left=min_new,right=max_new)
plt.gca().xaxis.set_major_locator(AutoLocator())
plt.gca().yaxis.set_major_locator(AutoLocator())
plt.show()

编辑: 也可以通过将轴限制扩展到边缘隐藏的刻度线来实现相同的效果。即,

loc,labels = plt.xticks()
plt.xlim(left=loc[0],right=loc[len(loc)-1])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?