我正在尝试绘制2向条形图。我想反转x1
的x轴,以使0处于两者的中间。我不断收到错误消息:
AttributeError:“ BarContainer”对象没有属性“ invert_xaxis”
这是我的代码:
import matplotlib.pyplot as plt
y = ['F','M','H']
x1 = [8, 4, 3]
x2 = [2, 4, 7]
fig, axes = plt.subplots(ncols=2, sharey=True)
axes[0] = plt.barh(y, x1, align='center', color='b')
axes[1] = plt.barh(y, x2, align='center', color='r')
axes[0].invert_xaxis()
plt.show()
答案 0 :(得分:0)
问题是您将绘图分配给两个轴对象,而不是使用它们进行绘图。正确的方法是直接使用轴对象绘制barh
。然后一切都会按预期进行。
import matplotlib.pyplot as plt
y = ['F','M','H']
x1 = [8, 4, 3]
x2 = [2, 4, 7]
fig, axes = plt.subplots(ncols=2, sharey=True)
axes[0].barh(y, x1, align='center', color='b') # <---- Changed here
axes[1].barh(y, x2, align='center', color='r') # <---- Changed here
axes[0].invert_xaxis()
plt.show()