我正试图用Seaborn标记小提琴情节:
ax = sns.violinplot(x='distance', y='Length', data=class_A, scale= 'count')
sns.violinplot without hue set
当我添加hue='population'
时,我想用每个小提琴情节标注,我丢失了我的KDE,它只显示了箱形图。
知道为什么会这样吗?有没有建议按列标记每个小提琴图?
答案 0 :(得分:0)
我相信您的数据具有从distance
到population
的一对一映射。当您添加hue
时,seaborn
正在尝试为每个population
的每个距离制作一个小提琴图。根据您的数据,这将是大约400个小提琴图。问题是由于一对一的映射,这些组合中只有20个具有任何数据。因此,使用hue
没有意义。
但是,您可以更改绘图中的x标签,以便用这样的方式显示距离和人口。
df_labels = class_A[['distance', 'population']].sort_values('distance').drop_duplicates()
new_labels = df_labels.distance + ' \n' + df_labels.population
ax.set_xticklabels(new_labels)