提到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知识,请关注!!