2016-07-29 13 views
12

मैं कैसे मंझला मूल्य के साथ एक Seaborn साजिश में प्रत्येक boxplot लेबल कर सकते हैं?लेबलिंग boxplot

उदा।

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

मैं प्रत्येक बॉक्सप्लॉट को औसत या औसत मूल्य के साथ कैसे लेबल करूं?

उत्तर

10

मैं सिर्फ कह सकते हैं कि मैं इसे प्यार करता है, जब लोग नमूना डेटासेट शामिल हैं। आप के लिए एक स्वस्थ +1! एक greant जवाब बर्नी के लिए

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

धन्यवाद! – user308827

+1

चीयर्स, दोस्त। आपको खुश कोडिंग! – bernie

+1

ध्यान दें कि औसत के बाद 0.5 का प्रभाव [टिक] किसी के डेटा के पैमाने पर संवेदनशील है। मेरे छोटे पैमाने पर, इसने सफेद पाठ को सफेद पृष्ठभूमि में धक्का दिया और मुझे यह पता लगाने में थोड़ी देर लग गई कि यह क्यों नहीं दिख रहा था। आवश्यकतानुसार 0.5 स्केल करें। –

संबंधित मुद्दे