Добавьте легенду к барплоту, состоящему из многочисленных катоджий - PullRequest
0 голосов
/ 27 июня 2018

Этот вопрос относится к этому one . После того, как я нанесу барплот разными цветами, я хотел бы добавить соответствующую легенду, но не могу понять, как. Это вообще возможно?

df = pd.DataFrame({'index':np.arange(0,10,1),'values':np.random.randint(0,100,10),
'group':list('aaabbbcccd')})

colors = {'a':'red','b':'gold','c':'lightblue','d':'cyan'}
df['values'].plot(kind='bar', color=[colors[i] for i in df['group']])

В настоящем решении это кажется невозможным, но я попытался выполнить итерации по группам (используя групповую обработку) и нанести их на одну и ту же ось, но графики не отображаются правильно. Есть альтернативные предложения?

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете использовать .pivot, чтобы привести вещи в правильную структуру, а затем просто использовать .plot:

df.pivot("index", "group")["values"].plot(kind="bar")

enter image description here

...