首页 > 解决方案 > 如何在图例上显示数据标签

问题描述

我正在尝试绘制条形图,但有问题标签没有显示在图例上,任何人都可以帮助我如何在我的图形数据标签中显示图例,显示为 1,2 而不是标签

import pandas as pd
import matplotlib.pyplot as plt

a = [3,4, 15, 10, 12]
b = [2,13,4,19,1]
c = [12,3,7,8,4]
d = [12, 13,4,7,14]
df = pd.DataFrame([a,b,c,d], columns=["A", "B", "C", "D", "E"]).transpose()

df.plot(kind = "bar")
plt.legend(["A", "B", "C", "D", "E"])
plt.legend(ncol=4, loc='center', bbox_to_anchor=(0.5, 1.06))

plt.xticks(rotation=360)
plt.show()

在此处输入图像描述

标签: pythonpandasmatplotlib

解决方案


我认为您需要plt.legend()一次传递所有参数。试试这样:

plt.legend(labels=["A", "B", "C", "D", "E"], ncol=4, loc='center', bbox_to_anchor=(0.5, 1.06))

而不是单独提供标签和其他参数。

正如@BigBen 在评论中指出的那样,如果您不使用,您的代码很容易给出预期的结果transpose()


推荐阅读