注意到图例文本与绘图栏的顺序不同。我希望在传奇的第一位看到“香蕉”。有可能纠正这种行为吗?感谢
我的代码是:
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({"Apple" : [2,3,4,1], "Banana" : [4,2,1,2]})
ax = df.plot.barh()
ax.legend()
plt.show()
我的图表:
答案 0 :(得分:2)
图例标签实际上是正确排序的。 Matplotlib的垂直轴默认从底部开始向上延伸。因此,蓝色条纹首先出现,就像传说中一样。
您可以反转图例句柄和标签:
h, l = ax.get_legend_handles_labels()
ax.legend(h[::-1], l[::-1])
您也可以决定反转y轴。
ax = df.plot.barh()
ax.invert_yaxis()
答案 1 :(得分:2)