【论文绘图】seaborn分类数据绘图

参考:https://seaborn.pydata.org/tutorial/categorical.html

分类变量关系图中的catplot类似于连续变量中的relplot,默认是stripplot。

分类变量图种类

分类散点图

stripplot
swarmplot (kind=‘swarm’)

类别分布图

boxplot
violinplot
boxenplot

类别估计图

pointplot
varplot
countplot

分类散点图

sns.catplot(data=tips, x="day", y="total_bill")
sns.catplot(data=tips, x="day", y="total_bill", jitter=False)

jitter参数是控制散点随机偏离程度的参数,它为False时所有散点在一条直线上,没有偏离。
另一种散点图swarm让点之间没有重叠,适用于相对小的数据集。

sns.catplot(data=tips, x="day", y="total_bill", kind="swarm")

【论文绘图】seaborn分类数据绘图_第1张图片
也可以使用hue增加图片包含的信息,但是分类数据不支持size和style。

sns.catplot(data=tips, x="day", y="total_bill", hue="sex", kind="swarm")

order参数可以指定绘制分类的顺序:

sns.catplot(data=tips, x="smoker", y="tip", order=["No", "Yes"])

【论文绘图】seaborn分类数据绘图_第2张图片

比较分布

boxplot

‘箱’显示了三个四分位值和极值,‘线’延伸至上下四分位的1.5IQR,在此之外的点特殊标出来。

sns.catplot(data=tips, x="day", y="total_bill", kind="box")

【论文绘图】seaborn分类数据绘图_第3张图片
加了hue可能会出现dogge的情况:
【论文绘图】seaborn分类数据绘图_第4张图片
想要避免这种重叠情况可以设置dodge=False:
【论文绘图】seaborn分类数据绘图_第5张图片

boxen

包含了更多数据信息,适合大数据集

diamonds = sns.load_dataset("diamonds")
sns.catplot(
    data=diamonds.sort_values("color"),
    x="color", y="price", kind="boxen",
)

【论文绘图】seaborn分类数据绘图_第6张图片

violinplot

结合了箱线图和核密度估计曲线。

sns.catplot(
    data=tips, x="total_bill", y="day", hue="sex", kind="violin",
)

【论文绘图】seaborn分类数据绘图_第7张图片
kde的参数也可以用在这里

sns.catplot(
    data=tips, x="total_bill", y="day", hue="sex",
    kind="violin", bw=.15, cut=0,
)

【论文绘图】seaborn分类数据绘图_第8张图片
当hue只有两个水平时,可以使用split=True得到更紧凑的图:
【论文绘图】seaborn分类数据绘图_第9张图片
可以选择小提琴内部的表示方法:

sns.catplot(
    data=tips, x="day", y="total_bill", hue="sex",
    kind="violin", inner="stick", split=True, palette="pastel",
)

【论文绘图】seaborn分类数据绘图_第10张图片
联合散点图和小提琴:

g = sns.catplot(data=tips, x="day", y="total_bill", kind="violin", inner=None)
sns.swarmplot(data=tips, x="day", y="total_bill", color="k", size=3, ax=g.ax)

【论文绘图】seaborn分类数据绘图_第11张图片
还有col, row, orient, sharex等等参数。

你可能感兴趣的:(分类,数据库,数据挖掘)