python - 如何使用 matplotlib 以对数刻度设置固定的主要抽动
问题描述
我试图在带有倒对数刻度的绘图的 y 轴上放置一些抽动。特别是,我想标记 1000、900、800... 等值。
这是我正在使用的代码:
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
from matplotlib import rcParams
rcParams.update({'figure.autolayout': True})
%matplotlib nbagg
fig, ax = plt.subplots(figsize = (8,4))
ax.set_ylim(200,1000)
ax.set_xlim(-60,40)
plt.gca().invert_yaxis()
ax.set_yscale('log')
majors = np.array([1000, 900, 800, 700, 600, 500, 400, 300, 200])
ax.yaxis.set_major_locator(ticker.FixedLocator(majors))
ax.yaxis.set_major_formatter(ticker.ScalarFormater())
ax.xaxis.set_major_locator(ticker.MultipleLocator(10))
ax.xaxis.set_minor_locator(ticker.MultipleLocator(1))
plt.xlabel('Temp (ºC)')
plt.ylabel('Pressure (hPa)')
plt.savefig(fname='test.png', dpi = 200)
plt.close()
如您所见,y 轴上的抽动是默认放置的,而不是我想要的。我的电话ax.yaxis.set_major_locator(ticker.FixedLocator(majors))
似乎被忽略了。我在这里做错了什么?
解决方案
推荐阅读
- python - 当范围太大时,会产生错误:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()
- reactjs - 使用 CloudFlare 在 AWS S3 中托管 React 路由器应用程序时修复 403 访问被拒绝错误
- java - 如何从一年中的日期向下迭代到上一年的日期?
- java - Java如何使用IntelliJ将包项目导入我的项目
- python - Django MSSQL:覆盖外键约束名称生成
- java - 我的 LayoutManager 中一直出现 nullpointerexception 错误
- r - 使用列表中具有相似结构的列表制作数据框,无需复制粘贴
- arrays - 如何在 Swift 中合并数组中的数字?
- kubernetes - 在 Kubernetes pod 的卷内创建一个空文件
- flutter - 在构建 AnimatedList 时,“insertItem”是如何工作的?