隐藏 y 轴上的负值刻度值

hiding tick value on the y axis that are negative

我试图隐藏 y 轴上小于 0 的任何值。我看到要隐藏 y 轴上的标签,我必须使用这样的东西:

make_invisible = True
ax4.set_yticks(minor_ticks)

if (make_invisible):
    yticks=ax4.yaxis.get_major_ticks()      
    yticks[0].label1.set_visible(False)

我该如何调整它,以便在 ytick 标签为负时隐藏它?

您可以使用 set_xticks() 方法简单地设置您想要在 x 轴上的刻度。

import matplotlib.pyplot as plt
plt.figure(figsize=(7,3))
plt.plot([-2,-1,0,1,2],[4,6,2,7,1])

ticks = [tick for tick in plt.gca().get_xticks() if tick >=0]
plt.gca().set_xticks(ticks)
plt.show()

将每个 x 替换为 y 将为您提供相应的 y 轴行为。