计算机系统应用教程网站

网站首页 > 技术文章 正文

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

btikc 2024-10-11 11:20:19 技术文章 5 ℃ 0 评论

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

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

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.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();

美观而且高效!

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

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

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

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

1. 生成调色板;

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

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

4. 设置坐标轴范围。

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

你学会了吗?

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表