【发布时间】:2020-04-22 21:15:10
【问题描述】:
我想在顶部创建一个辅助 xaxis,它与底部的主要 xaxis 成反比关系。我按照官方教程here,代码如下:
def forward(x):
return 10/x
def backward(y):
return 10/y
fig, ax = plt.subplots()
ax.set_xlim([0.14, 1.4])
secax = ax.secondary_xaxis('top', functions=(forward, backward))
secax.set_xticks(np.array([10,20,40,70])) # does not work!
plt.show()
问题是顶部的 xticks 不在正确的位置。由于应用了反函数,它们在左侧聚集在一起。如何手动设置 xticks 的位置? (例如在 10,20,40,70)
编辑: 只是为了更清楚一点,刻度在正确的位置,但是如图所示刻度太多。在这种情况下,我只想要 10、20、40、70 的刻度(我不想要 30、50 和 60 的刻度,因为我们无法清楚地看到所有刻度数字)
【问题讨论】:
-
为什么他们不在正确的地方?我看到 70 在 0.14 之上 .. 这对我来说是正确的。您希望看到什么?
-
位置在正确的位置,但我想控制有多少滴答声。现在上面的代码在左边给出了太多的刻度。
-
您的代码对我来说运行良好。尝试更新你的 matplotlib。
-
@lostin 我的 matplotlib 是 3.1.3 版。由于某种原因,我无法将其升级到最新的 3.2.1,所以现在我正在寻找替代方法来控制出现哪些刻度。
标签: python numpy matplotlib plot figure