用散布图中的seaborn / matplotlib表示5个暗淡的数据

时间:2016-08-11 22:13:52

标签: python matplotlib seaborn

使用带有色调选项的seaborn lmplot,我们可以表示三维数据,例如3个变量:total_bill,tip和smoker:

>>> import seaborn as sns; sns.set(color_codes=True)
>>> tips = sns.load_dataset("tips")
>>> g = sns.lmplot(x="total_bill", y="tip", hue='smoker', data=tips, fit_reg=False)

如何在同一散点图中再表示一个更改的分类维度,例如子弹的形式?

甚至可以使用不同的子弹形状代表另外2个分类变量,使用子弹/形状的大小来代表第5个变量?

1 个答案:

答案 0 :(得分:1)

您最多可以使用分面表示五个维度:

import seaborn as sns
tips = sns.load_dataset("tips")
sns.lmplot(x="total_bill", y="tip",
           hue="time", col="sex", row="smoker",
           size=3, data=tips)

enter image description here

您也可以改变标记,但它们随颜色而变化,而不是独立于标记。正如@JulienD指出的那样,人类视觉系统实际上难以从数据中解码模式,其中三个变量独立地用颜色,标记和大小来表示。制作具有较低尺寸投影的多个图是更好的做法。