Matplotlib和Seaborn(散点图、热图、小提琴图、箱线图)

本文详细介绍了使用Matplotlib和Seaborn进行数据可视化的各种图表,如散点图、热图、小提琴图和箱线图。通过实例展示了如何创建这些图表,探讨了数据的关系、透明度、抖动、颜色映射和统计信息的表示。文章还提及了小提琴图和箱线图在数据探索和总结上的不同优势。
摘要由CSDN通过智能技术生成

散点图和相关性:

散点图:

如果我们想研究两个数值变量之间的关系,通常会选择散点图。在散点图中,每个数据点都单独表示为一个点,x 轴对应一个特征值,y 轴对应另一个特征值。创建散点图的一个基本方式是利用 Matplotlib 的 scatter 函数:

plt.scatter(data = df, x = 'num_var1', y = 'num_var2')

在这里插入图片描述 可以在这两个变量之间看到一个大致上的正向关系,x 轴的值越高,y 轴上的变量值也增大。

替代方法: Seaborn 的 regplot 函数可以创建具有回归拟合的散点图:

sb.regplot(data = df, x = 'num_var1', y = 'num_var2')

在这里插入图片描述 默认的回归函数是线性回归,并且包含回归估计置信区间(阴影部分)。因为上面图表的情况看起来像 \text{log}(y) \propto xlog(y)∝x 关系(也就是 x 与 log(y) 存在线性相关),因此用原始单位绘制回归线不合适。如果我们不关心回归线,那么可以在 regplot 函数调用中设置 reg_fit = False。如果我们想对观察到的数据相关性拟合回归线,需要变换数据。

def log_trans(x, inverse = False):
    if not inverse:
        return np.log10(x)
    else:
        return np.power(10, x)

sb.regplot(df['num_var1'], df['num_var2'].apply(log_trans))
tick_locs = [10, 20, 50, 100, 200, 500]
plt.yticks(log_trans(tick_locs), tick_locs)

在此例中,regplot 的参数 x 和 y 直接设为了从 DataFrame 中提取的 Series。 在这里插入图片描述

重叠、透明度和抖动:

如果要绘制大量数据点,或者数值变量是离散型的,那么直接使用散点图可能无法呈现足够的信息。图形可能会出现重叠,由于大量数据重叠到一起,导致很难看清变量之间的关系。

plt.scatter(data = df, x = 'disc_var1', y = 'disc_var2')

在这里插入图片描述 在上图中,我们可以推断出两个变量负相关,但是数据的变化程度和关系强度并不明显。在这种情形下,我们需要应用透明度抖动,使散点图能呈现更多的信息。可以通过在 scatter 函数调用时添加 “alpha” 参数来表示透明度,“alpha” 的值可以介于 0(完全透明,不可见) 到 1(完全不透明)之间。

plt.scatter(data = df, x = 'disc_var1', y = 'disc_var2', alpha = 1/5)

在这里插入图片描述 重叠的点越多,图像颜色就越深。从图中可以看出,两个数值变量之间存在一定的负相关关系。x 轴上 0 和 10 的值比中间的值要少很

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值