我正在尝试使用 Seaborn 标记小提琴情节:
ax = sns.violinplot(x='distance', y='Length', data=class_A, scale= 'count')
当我添加hue='population'
时,我想用它来标记每个小提琴图,我失去了我的 KDE,它只显示了箱线图。
知道为什么会这样吗?有什么建议可以按列标记每个小提琴图吗?
我正在尝试使用 Seaborn 标记小提琴情节:
ax = sns.violinplot(x='distance', y='Length', data=class_A, scale= 'count')
当我添加hue='population'
时,我想用它来标记每个小提琴图,我失去了我的 KDE,它只显示了箱线图。
知道为什么会这样吗?有什么建议可以按列标记每个小提琴图吗?
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)