我想在水平条形图上设置x轴上的正值,但我不知道该怎么做。
我想在0的左边用500和1000替换-500和-1000。
这里我的代码,y和y2列出了值。
y = [-i for i in y]
plt.barh(range(1, len(y)+1), y, label="Serie_1")
plt.barh(range(1, len(y2)+1), y2, alpha=0.5, color="r", label="Serie_2")
plt.axvline(0, color="k")
plt.yticks([i+1.5 for i in range(7)], range(7))
plt.title("test")
plt.legend()
我知道它有xticks,但是怎么样?
答案 0 :(得分:0)
您可以在事后用自己的绝对值替换标签文本:
plt.gca().set_xticklabels([abs(x) for x in plt.gca().get_xticks()])
答案 1 :(得分:0)
更灵活的解决方案:使用plt.xticks
。这是一个MWE。
import matplotlib.pylab as plt
fig, ax = plt.subplots()
x = range(-5, 5)
y = range(-5, 5)
plt.plot(x, y)
plt.xticks(x, [abs(i) for i in x])
plt.show()
产生,