gpt4 book ai didi

Python 不允许我在使用子图时更改轴刻度数

转载 作者:行者123 更新时间:2023-12-01 06:22:06 24 4
gpt4 key购买 nike

我的代码如下所示:

plt.figure()

plt.subplot(211)
plt.plot(timestamps_SW, np.random.randn(len(testLabelsSW_ds)), label='truth')
plt.plot(timestamps_SW, np.random.randn(len(testLabelsSW_ds)), label='pred.')
plt.locator_params(axis='y', nbins=5)
plt.legend()

plt.subplot(212)
plt.plot(timestamps_SE,np.random.randn(len(testLabelsSE_ds)), label='truth')
plt.plot(timestamps_SE,np.random.randn(len(testLabelsSE_ds)), label='pred.')
plt.locator_params(axis='y', nbins=5)
plt.legend()

结果图如下所示:

[1]: /image/JsYKw.png

显然每个 y 轴没有 5 个刻度。我该如何解决?

最佳答案

使用 plt.locator_params(..., nbins=5) 您要求默认定位器使用 5 个 bin。默认定位器是AutoLocator。它是 MaxNLocator 的子类。 MaxN 表示,它将尝试找到最多 N 个不错的位置,其中 N 等于 nbins + 1 >。“好”地点意味着,例如像 1.0、0.25 等这样的值被认为是“好的”,而像 0.761 这样的值当然不是那么好。

这两个约束(a)“好”和(b)“N 个位置”当然很少能同时满足。因此,“好”在这里是优先考虑的。

如果忽略约束 (a),只需手动放置刻度即可获得 N 个位置,

plt.yticks(np.linspace(*plt.ylim(), 5))

关于Python 不允许我在使用子图时更改轴刻度数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60312363/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com