查看原文
其他

好享学丨Seaborn:一行代码生成酷炫狂拽的数据集可视化

The following article is from Python大数据分析 Author 王大毛

好享学是高下制图推出的数据可视化经验分享栏目,我们将定期与您分享各界优秀人士的制图经验,一同学习。






之前看其他大佬的项目,只在意他们通过可视化的数据集,对数据特征挖掘的思路,但没有在意他们做可视化的工具。轮到自己做的时候就发现,wtf!matplotlib可以更难用一点嘛?别人酷炫狂拽,坐标轴上还有直方图的可视化究竟是怎么弄的?


今天碰到了Seaborn的库,一行代码就出图,爱了!





Seaborn介绍

Seaborn是Python的数据统计图形库。它基于matplotlib构建,并与pandas数据结构紧密集成。

Seaborn功能简介


  • 面向数据集的API,便于观察多个变量之间的关系

  • 支持分类变量可视化或汇总统计信息



  • 可视化单变量或双变量分布,以及在数据子集之间进行比较



  • 不同因变量的线性回归和展示



  • 方便查看复杂数据集的整体结构



  • 强大的函数,可让您轻松构建复杂的可视化



  • 基于matplotlib的样式

  • 包含调色板工具
flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
sns.palplot(sns.color_palette(flatui))

seaborn功能初探

#导入库
import numpy as np
import pandas as pd
import seaborn as sns

单变量可视化

查看seaborn中的单变量分布的最便捷方法是distplot()函数。默认情况下,将绘制直方图并拟合核密度估计(KDE, kernel density estimate)。

# 生成数据
x = np.random.normal(size=100)
# 数据可视化
sns.distplot(x)

双变量分布可视化

在seaborn中可视化双变量的方法是jointplot()函数,该函数创建一个多面板图形,该图形同时显示两个变量之间的双变量(或联合)关系以及每个变量的单变量分布。

# 生成二维数据
mean, cov = [0, 1], [(1, .5), (.5, 1)]
data = np.random.multivariate_normal(mean, cov, 200)
df = pd.DataFrame(data, columns=["x", "y"])
# 数据可视化
sns.jointplot(x="x", y="y", data=df)

  • 二维直方图
sns.jointplot(x=x, y=y, kind="hex")

  • 核密度估计
sns.jointplot(x="x", y="y", data=df, kind="kde")

多变量数据可视化

要在多变量数据集中绘制成对的双变量分布,可以使用pairplot()函数。这将创建轴矩阵,并显示DataFrame中每列的关系。默认情况下,它还会在对角轴上绘制每个变量的单变量分布。

# 读入内置数据
iris = sns.load_dataset("iris")
# 数据可视化
sns.pairplot(iris)



END









还在为如何制作精美图表苦恼头秃么?全新推出高下制图app,不断更新的制图模板,随心更改样式,轻松一键制图。现在积极参与高下制图内测,更有机会获得正式版会员,享受轻松作图哦。更多详情请扫码进群了解。











往期推荐

新世野 | 麦肯锡瀑布图:打工人如何优雅地向领导汇报工作?

好享学|涨姿势!神奇的 r 语言竟能折千纸鹤?还有更多惊喜等待解锁

好享学丨不讲武德!全网最豪横Python制图源码分享,多达10种

好享学丨相见恨晚!五招提升你的制图效率,数据专家都在用

好享学丨眼见为实,殊不知其实你的视线早就被安排好了!

好享学丨熬夜制图做了个寂寞!这些错误让设计师疯狂承伤



好看的人才能点



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存