按分类变量分组的箱线图
Grouped Boxplots by Categorical Variable
对大型数据集使用 pandas,我已经将其缩减为我需要的信息。基本上我想将来自两个不同国家的用户的朋友数量分布绘制为并排箱线图(我指的是分组箱线图),按他们 post 中使用的主题标签数量(范围从 1-6,我将其视为分类变量)。这导致总共 2*6=12 个箱线图都在同一帧中,以便于比较。
我做了一些研究,我知道 df.boxplot(by='x'),但这并没有说明比较两国的额外水平。
数据集包含主题标签数量(整数)、国家(字符串)、朋友数量(整数)列。
值得一提的是,我对 Python 中的绘图相当陌生,包括轴和子图等内容,因此请尽可能在您的回答中包含一些额外信息。
编辑:数据集的小样本
#followers #friends #mentions #hashtags country lang_user place
450 53 71 1 0 ja es NaN
489 54 34 1 1 ja es NaN
867 1569 1999 0 0 en es NaN
1021 224 242 0 3 ja ja NaN
1022 377 506 1 5 ja ja NaN
1023 315 305 0 2 ja ja NaN
我喜欢使用 seaborn 进行此类可视化。
我猜你说的 "extra level" 叫做 "hue".
import seaborn as sns
sns.set_style("whitegrid")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", hue="smoker",
data=tips, palette="Set3")
结果将是:
查看此文档:
https://seaborn.pydata.org/generated/seaborn.boxplot.html
对大型数据集使用 pandas,我已经将其缩减为我需要的信息。基本上我想将来自两个不同国家的用户的朋友数量分布绘制为并排箱线图(我指的是分组箱线图),按他们 post 中使用的主题标签数量(范围从 1-6,我将其视为分类变量)。这导致总共 2*6=12 个箱线图都在同一帧中,以便于比较。
我做了一些研究,我知道 df.boxplot(by='x'),但这并没有说明比较两国的额外水平。
数据集包含主题标签数量(整数)、国家(字符串)、朋友数量(整数)列。
值得一提的是,我对 Python 中的绘图相当陌生,包括轴和子图等内容,因此请尽可能在您的回答中包含一些额外信息。
编辑:数据集的小样本
#followers #friends #mentions #hashtags country lang_user place
450 53 71 1 0 ja es NaN
489 54 34 1 1 ja es NaN
867 1569 1999 0 0 en es NaN
1021 224 242 0 3 ja ja NaN
1022 377 506 1 5 ja ja NaN
1023 315 305 0 2 ja ja NaN
我喜欢使用 seaborn 进行此类可视化。 我猜你说的 "extra level" 叫做 "hue".
import seaborn as sns
sns.set_style("whitegrid")
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="day", y="total_bill", hue="smoker",
data=tips, palette="Set3")
结果将是:
查看此文档: https://seaborn.pydata.org/generated/seaborn.boxplot.html