Matplotlib barchart легенда показывает только один элемент - PullRequest
0 голосов
/ 08 октября 2019

При создании легенды для графика столбчатой ​​диаграммы к легенде добавляется только первый элемент списка.

Я попытался напечатать легенду с помощью сгруппированного кадра данных, столбчатая диаграмма - это гистограмма. вхождения

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 голосов
/ 08 октября 2019

Отображение данных из pd.DataFrame:

  • легенда = имена столбцов
  • x_tics = index

Вы можете преобразовать counts Series в 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()

См. здесь и здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...