超详细Seaborn绘图 ——(四)stripplot

stripplot是seaborn中的散点图。由于散点图在概念本身上没什么好多说的,就直接进入正题。

一、语法

seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None,
                  jitter=True, dodge=False, orient=None, color=None, palette=None,
                  size=5, edgecolor='gray', linewidth=0, ax=None, **kwargs)

二、参数详解

  • jitter:float或True
    要应用的抖动量(仅沿分类轴)。 当您有许多点并且它们重叠时,这可能很有用,因此更容易看到分布。您可以指定抖动量(均匀随机变量支持的宽度的一半),或者仅使用True作为良好的默认值

  • size:float
    标记的直径,以磅为单位。

  • edgecolor:matplotlib 颜色,“灰色”是特殊的
    每个点周围线条的颜色。如果传递"灰色",则亮度由用于点体的调色板决定。

  • linewidth:float
    构图元素的灰线宽度。

三、实例

还是先绘制一个最简单的散点图

tips = sns.load_dataset("tips")
sns.stripplot(x=tips["total_bill"])

在这里插入图片描述


通过分类变量对条形图进行分组

sns.stripplot(x="day", y="total_bill", data=tips)

在这里插入图片描述


两个分类变量

sns.stripplot(x="day", y="total_bill",
              hue='smoker',data=tips)

在这里插入图片描述

混杂在一起看起来效果不是特别好,通过以前提到过的dodge将第三个分类变量分开

sns.stripplot(x="day", y="total_bill",
              hue='smoker',dodge=True,data=tips)

在这里插入图片描述


绘制水平的散点图

sns.stripplot(x="total_bill", y="day",
              hue='smoker',dodge=True,data=tips)

在这里插入图片描述


添加抖动以显示值的分布

sns.stripplot(x="day", y="total_bill",
              hue='smoker',dodge=True,
              jitter=True,data=tips)

在这里插入图片描述

从我个人角度来看,实际上这种添加抖动本质是增加了散点间的距离,减少重复的部分,使视觉效果更好。可能理解有误,纯属个人猜测

还可以指定一定数值的抖动(jitter=True是选择默认的良好的抖动值)

sns.stripplot(x="day", y="total_bill",
              hue='smoker',dodge=True,
              jitter=0.05,data=tips)

在这里插入图片描述


通过改变散点的linewidth绘制轮廓

plt.figure(dpi=150)
sns.stripplot(x="day", y="total_bill",
              hue='smoker',dodge=True,
              jitter=True,linewidth=1,
              data=tips)

在这里插入图片描述


修改轮廓的颜色

plt.figure(dpi=150)
sns.stripplot(x="day", y="total_bill",
              hue='smoker',dodge=True,
              jitter=True,linewidth=1,
              edgecolor='g',data=tips)

在这里插入图片描述


修改散点的形状

具体的marker实际上是继承自matplotlib中的,具体如下:
在这里插入图片描述
具体可参考另一篇博客Matplotlib绘图

plt.figure(dpi=150)
sns.stripplot(x="day", y="total_bill",
              hue='smoker',dodge=True,
              jitter=True,marker='v',data=tips)

在这里插入图片描述


增加透明图以及修改大小

plt.figure(dpi=150)
sns.stripplot(x="day", y="total_bill",hue='smoker',dodge=True,
              palette=sns.color_palette("plasma_r",n_colors=2),
              jitter=True,marker='h',size=10,alpha=0.5,data=tips)

在这里插入图片描述


除了这些基本的绘图外,散点图实际上还会与boxplot、violinplot等一起使用。

boxplot+stripplot

plt.figure(dpi=150)
sns.boxplot(x="tip", y="day", data=tips, whis=np.inf, palette="Set2")
sns.stripplot(x="tip", y="day", data=tips,
              jitter=True,palette=sns.color_palette("plasma_r",n_colors=4),
              alpha=0.5,marker='h',size=10)

在这里插入图片描述

violinplot+stripplot

sns.violinplot(x="day", y="total_bill", data=tips,
                    inner=None, color=".8")
sns.stripplot(x="day", y="total_bill", data=tips, jitter=True)

在这里插入图片描述

  • 7
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值