在使用以下代码生成的直方图中,零级别没有x轴
import matplotlib.pyplot as plt
plt.bar(left=[0,4,5],height=[-100,10,110],color=['red','green','green'],width=0.1)
plt.show()
如何把它放在那里?
答案 0 :(得分:4)
我倾向于使用spines
来使x轴居中:
import matplotlib.pyplot as plt
fig = plt.figure(facecolor='white')
ax = fig.add_subplot(1,1,1)
ax.bar(left=[0,4,5],height=[-100,10,110],color=['red','green','green'],width=0.1)
ax.grid(b=True)
ax.spines['left'].set_position('zero')
ax.spines['right'].set_color('none')
ax.spines['bottom'].set_position('zero')
ax.spines['top'].set_color('none')
plt.show()
这将产生下一个情节:
答案 1 :(得分:2)
默认情况下,matplotlib不认为y=0
行很重要。您可以通过plt.grid()
等电话打开网格。
经常使用in the matplotlib.pylab docs的替代方法是将水平线设置为0.这可以通过
完成plt.axhline(0, color='black', lw=2)