您的当前位置:首页正文

2020了,你该会用seaborn了!

2024-07-17 来源:客趣旅游网

提到python画图,我们第一个想到的库一定是matplotlib,但是随着大家眼光的提高,matplotlib画出的图渐渐“失宠”了,今天就让我们来了解一下建立在matplotlib上的绘图库——seaborn。

先来看一下对于seaborn的官方说明:

- 面向数据集的API,用于检查多个变量之间的关系;

- 专门支持使用分类变量显示观察结果或汇总统计信息;

- 可视化单变量或双变量分布以及在数据子集之间进行比较的选项;

- 不同种类因变量的线性回归模型的自动估计和绘图;

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

- 用于构造多图网格的高级抽象,可让您轻松构建复杂的可视化;

- 带有几个内置主题的 matplotlib图形样式的精确控制。

导入数据

在seaborn中含有许多的示例数据,我们选取其中一个较为简单的数据集开始我们本文对seaborn的讲解。

import seaborn as sns
# 加载数据集,sns加载的数据集是dataframe类型
flights_long = sns.load_dataset("flights")
flights_long.head()

得到的结果如下:

直方图

接下来就让我们先来画一个简单的直方图吧:

# 直方图(数值型)
# kde:用于控制密度曲线的有无(默认True)
sns.distplot(flights_long['passengers'], kde=True)

再来看一个更高端的统计直方图:

# 统计直方图
sns.countplot(flights_long['years'])

再来看一下显示数据分布情况的图形:

# 显示数据的分布情况 rugplot
sns.rugplot(flights_long['passengers'])

散点图

散点图可以很好的展示出两个特征的属性值之间的关系,看一下绘制散点图的代码:

sns.stripplot(x='year', y='passengers', data=flights_long)

下面再来展示一种绘制散点图的方法,与上面不同的是,该方法绘制出的图中的点 不会重叠。

sns.swarmplot(x='year', y='passengers', data=flights_long)

更多Python知识,请关注!!

显示全文