python - 如何自动获取 matplotlib 中第一个和最后一个轴标签的“好”值?
问题描述
在此图中,matplotlib 自动隐藏第一个和最后一个轴标签。但是,所需的行为是始终显示第一个轴标签和最后一个轴标签,并将其显示为“不错”的值。所谓“不错”的值,我的意思是在轴的两个边界上都应该出现一个主要的抽动。例如,在下图中,x 轴将从 -0.1 开始,到 1.5 结束。同样,y 轴将从 -0.25 开始,到 2.00 结束。如何在 Matplotlib 中实现这一点?
在此先感谢您的帮助。
解决方案
我解决了这个问题,首先让我们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()
编辑: 同样可以通过将轴限制扩展到边缘的隐藏刻度来实现。IE,
loc, labels = plt.xticks()
plt.xlim(left=loc[0], right=loc[len(loc)-1])
推荐阅读
- python - Selenium 无法在 Twitter 注册页面中找到名称字段
- wordpress - Wordpress/Pardot/Contact Form 7(需要验证号码和电子邮件的插件)
- jpeg - 为什么 libjpeg 不正确地存储我的图像数组?
- pdf - 如何使用Java iText在pdf文件中将字体名称作为字符串传递
- python - 根据常量 python 列表设置张量值的优雅方法
- python - 在 Django 中使用 python 创建本地文件
- java - 如何定义 JTable 的 Column 的数据类型与 MySql 数据库相同?
- c# - SetTextCharacterExtra 函数不适用于特定字体/字体大小的 DrawText 函数
- python - Pygame 删除对象
- c# - 任务并行数据流中一个块与多个单线程目标块并行的原因