《一天一图学Python可视化》|用等高线图高效观察双变量集中趋势

很多朋友应该见过等高线图,它可以轻易地将两个变量的分布给表现出来。我们之前学习过使用jointplot()来表现双变量数据分布,不过今天,我们将学习一下如何使用基于核密度估计的等高线图来表现双变量数据分布。

我们先来看看代码和图形效果:

import numpy as np
import seaborn as snsimport matplotlib.pyplot as pltsns.set(style="dark")rs = np.random.RandomState(50)## 生成3*3的图形对象,共享x轴和y轴f, axes = plt.subplots(3, 3, figsize=(9, 9), sharex=True, sharey=True)## 将3*3的axes数组对象转换成1*9的一维数组for ax, s in zip(axes.flat, np.linspace(0, 3, 10)): # # 创建调色板 cmap = sns.cubehelix_palette(start=s, light=1, as_cmap=True) # # 创建随机双变量数据集,并绘制等高线图 x, y = rs.randn(2, 50) sns.kdeplot(x, y, cmap=cmap, shade=True, cut=5, ax=ax) ax.set(xlim=(-3, 3), ylim=(-3, 3))f.tight_layout()plt.show();

《一天一图学Python可视化》|用等高线图高效观察双变量集中趋势

 

美观而且高效!

那么接下来我们看一下都发生了什么。、

第一步,我们导入了必要的库,使用seaborn中的dark风格背景。

第二步,生成3*3的图形矩阵,并设置他们之间共享x轴和y轴。

第三步,循环针对每个坐标轴对象画图:

1. 生成调色板;

2. 生成两组随机数据,每组长度是50;

3. 使用`kdeplot()`函数绘图,打开阴影;

4. 设置坐标轴范围。

第四步,设置紧凑型排布,即收紧子图之间的距离。

你学会了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值