2016-07-29 15 views
12

Her bir kutu işaretini, deniz kıyısındaki bir arsada medyan değeriyle nasıl etiketleyebilirim?Ortancada ortanca değeriyle birlikte etiketleme kutusu grafiği

E.g.

import seaborn as sns 
sns.set_style("whitegrid") 
tips = sns.load_dataset("tips") 
ax = sns.boxplot(x="day", y="total_bill", data=tips) 

Her bir kutu plotunu medyan veya ortalama değerle nasıl etiketlerim?

cevap

10

Sadece örnek veri kümeleri içerdiğinde onu sevdiğimi söyleyebilir miyim? Size sağlıklı bir +1! Bir greant cevap bernie için

import seaborn as sns, numpy as np 

sns.set_style("whitegrid") 
tips = sns.load_dataset("tips") 
ax = sns.boxplot(x="day", y="total_bill", data=tips) 

medians = tips.groupby(['day'])['total_bill'].median().values 
median_labels = [str(np.round(s, 2)) for s in medians] 

pos = range(len(medians)) 
for tick,label in zip(pos,ax.get_xticklabels()): 
    ax.text(pos[tick], medians[tick] + 0.5, median_labels[tick], 
      horizontalalignment='center', size='x-small', color='w', weight='semibold') 

enter image description here

+0

teşekkürler! – user308827

+1

Şerefe, dostum. Mutlu kodlar sana! – bernie

+1

Not: Ortadan sonra 0,5 olan etkinin [tick], kişinin verilerinin ölçeğine duyarlı olduğunu unutmayın. Küçük ölçeğim için beyaz metni beyaz arka plana itti ve neden gösterilmediğini anlamak bana biraz zaman aldı. Gerekirse 0,5 ölçeklendirin. –