Добавьте STD к легенде в python seaborn - PullRequest
0 голосов
/ 04 марта 2020

У меня есть таблица ниже, и я хотел бы добавить STD для каждого класса в легенде.

enter image description here

Он был создан с кодом:

subset1=data1[feats_to_explore+['wine_class']]
f, (ax1, ax2, ax3) = plt.subplots(3, figsize=(7,14), sharey=True)

l=[ax1,ax2,ax3]
colors=['lime','deeppink','dodgerblue']

## La única modificación se da en la incorporación de la línea vertical con las medias.
for graph in l:
    for i in (subset1['wine_class']).unique():
        df =subset1[subset1.wine_class == i]
        sns.distplot(df[feats_to_explore[l.index(graph)]],  kde=False, label=i, ax=graph, color=colors[int(i)])
        graph.axvline(df[feats_to_explore[l.index(graph)]].mean(),color=colors[int(i)])  
        graph.legend(title='Wine Class')

Я хотел бы добавить в правой части тега (0,0, 1,0 или 2,0) стандартное значение для каждой группы. Кто-нибудь может поддержать меня в этом вопросе?

С уважением,

1 Ответ

0 голосов
/ 04 марта 2020

Наконец я достиг решения. Я представляю вас в строках ниже на случай, если кому-то это нужно:

tipo=['Class 0','Class 1','Class 2']
for graph in l:
    w=[str(x) for x in np.around((subset1.groupby('wine_class').std()[feats_to_explore[l.index(graph)]]).to_numpy(),decimals=2)]
    for i in (subset1['wine_class']).unique():
        df =subset1[subset1.wine_class == i]
        sns.distplot(df[feats_to_explore[l.index(graph)]],  kde=False, label=i, ax=graph, color=colors[int(i)])
        graph.axvline(df[feats_to_explore[l.index(graph)]].mean(),color=colors[int(i)])  
        graph.legend([str(tipo[i]) +": "+ str(w[i]) for i in range(len(tipo))],title='wine_class')

enter image description here

...