Как использовать mpatches.Patch в matplotlib для добавления пользовательских меток на гистограмму - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь вручную добавить legends, но они не отображаются. Я хотел бы использовать matplotlib pathes вместо seaborn оттенка, чтобы я мог контролировать свои colours и обрабатывать дублирующиеся продукты.

Dec = df.event_ID.value_counts().nlargest(10).keys().tolist()

text = [Typ[i] for i in Dec]

, когда мы печатаем вывод текста

print(text)

['JK)',
 'CDE',
 'GAMED',
 'JK',
 'DTA',
 'AU365',
 'BCD',
 'BCD',
 'ADD',
 'ADD']

Вот цвета и мой подход

color=["peru", "crimson", "magenta", "dimgrey", "forestgreen", "orange", 
       "dodgerblue", "aliceblue", "gold", "firebrick"]
df.groupby("event_ID")["Typ"].size().nlargest(10).plot(kind="bar", color=color)
plt.legend(color, text)

Но я не вижу текста на графике

1 Ответ

1 голос
/ 03 апреля 2020

Возможно, вы захотите:

df1=df.groupby("event_ID")["Typ"].size().nlargest(10)
plt.bar(df1.index,df1,  color=color,label=text) 
plt.legend(loc='upper right')

Это будет иметь вашу легенду в верхнем правом углу, но вы, конечно, можете ее изменить. Вы можете прочитать документацию plt legend для более детального использования. Также обратите внимание, что

df.groupby('keywords')['number'].size().plot(kind='bar',color=color,label=text)

не работает, поскольку label принимает только строку, но не список.

...