Seaborn 如何在 sns.catplot 中添加每个类别的样本数
Posted
技术标签:
【中文标题】Seaborn 如何在 sns.catplot 中添加每个类别的样本数【英文标题】:Seaborn how to add number of samples per category in sns.catplot 【发布时间】:2020-04-16 02:04:32 【问题描述】:我有一个 catplot 绘图,使用:
s = sns.catplot(x="level", y="value", hue="cond", kind=graph_type, data=df)
但是,组的大小不相等:
“Minimal
”有 n=12 个样本,而“Moderate
”有 n=18 个样本。
如何将此信息添加到图表中?
【问题讨论】:
【参考方案1】:手动计算尺寸并将它们添加到 xticklabels,像这样
import matplotlib.pyplot as plt
import seaborn as sns
exercise = sns.load_dataset("exercise")
cnts = dict(exercise['time'].value_counts())
key = list(cnts.keys())
vals = list(cnts.values())
g = sns.catplot(x="time", y="pulse", hue="kind",order=key,
data=exercise, kind="box")
g.set_axis_labels("", "pulse")
g.set_xticklabels([(key[i]+'\n('+str(vals[i])+')') for i in range(len(key))])
plt.show()
【讨论】:
以上是关于Seaborn 如何在 sns.catplot 中添加每个类别的样本数的主要内容,如果未能解决你的问题,请参考以下文章
Seaborn facetgrid将逗号添加到y轴标签[重复]