Matplotlib条形图图例仅显示一项

时间:2019-10-08 09:28:08

标签: python matplotlib

为条形图创建图例时,仅将列表的第一个元素添加到图例中。

我尝试通过分组数据框打印图例,条形图是发生的直方图

df = pd.DataFrame({'mod': biomarkers})
counts =df.groupby('mod', as_index=False)
counts.size().plot(kind='bar',width=1.0)

names = np.array(counts.describe())[:,2]
counts = np.array(counts.describe())[:,3]
plt.legend(list(names))
plt.show()

1 个答案:

答案 0 :(得分:0)

显示来自pd.DataFrame的数据:

  • legend =列名
  • x_tics =索引

您可以将counts系列转换为DataFrame并进行转置。

fig, ax = plt.subplots()
df = pd.DataFrame({'mod': ['a','b','c','a','a','c']})
counts = df.groupby('mod', as_index=False)

counts_df = counts.size().to_frame().T
counts_df.plot(kind='bar', width=1.0, ax=ax)
# without plt.legend()

请参见herehere