我想在Seaborn的箱线图中添加中间值,在x轴上有两个级别的分类数据。我该怎么办?
我看到了这个example并将其应用于我的问题,但是由于依赖于ax.get_xticklabels
的标签的位置,前四个值的中值被应用在外部类别的中间变量。
tips = sns.load_dataset("tips")
medians = \
tips.groupby(['day', 'smoker']).agg({'total_bill':np.median}).values
ax = sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips)
pos = range(len(medians))
for tick,label in zip(pos,ax.get_xticklabels()):
ax.text(pos[tick], medians[tick] + 0.5, medians[tick],\
horizontalalignment='center', size='small')