数据可视化(三)- Seaborn简易入门
2017-10-26 21:21
399 查看
本文数据来源:http://www.cdc.gov/nchs/nsfg.htm
本文摘要:介绍一个以matplotlib为底层,更容易定制化作图的库Seaborn
Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。
安装seaborn的方法
原始数据展现(这是一份家庭调查的数据,preglngth - 怀孕周长, birthord - 孕妇的第几个孩子, birthwgt_lb1 - 婴儿重量(单位:磅), birthwgt_oz1 - 婴儿重量(单位:盅司), agepreg - 孕妇在分娩时的年龄)
可以看到与使用matplotlib作的直方图最大的区别在于有一条密度曲线(KDE),可以通过设置参数去掉这条默认的曲线
那么Pandas与Seaborn之间有什么区别呢?
其实两者都是使用了matplotlib来作图,但是有非常不同的设计差异
在只需要简单地作图时直接用Pandas,但要想做出更加吸引人,更丰富的图就可以使用Seaborn
Pandas的作图函数并没有太多的参数来调整图形,所以你必须要深入了解matplotlib
Seaborn的作图函数中提供了大量的参数来调整图形,所以并不需要太深入了解matplotlib
Seaborn的API:https://stanford.edu/~mwaskom/software/seaborn/api.html#style-frontend
var1 vs var1
var1 vs var2
var2 vs var1
var2 vs var2
相同的两个变量之间(var1 vs var1 和 var2 vs var2)以直方图展示,不同的变量则以散点图展示(var1 vs var2 和var2 vs var1)
要注意的是数据中不能有NaN(缺失的数据),否则会报错
本文摘要:介绍一个以matplotlib为底层,更容易定制化作图的库Seaborn
Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。
安装seaborn的方法
pip install seaborn
原始数据展现(这是一份家庭调查的数据,preglngth - 怀孕周长, birthord - 孕妇的第几个孩子, birthwgt_lb1 - 婴儿重量(单位:磅), birthwgt_oz1 - 婴儿重量(单位:盅司), agepreg - 孕妇在分娩时的年龄)
import pandas as pd births = pd.read_csv('births.csv')
直方图
在上一篇文章中已经使用过pandas.DataFrame.hist()来制作直方图了,现在用seaborn.distplot()来制作直方图,观察之间的差异# 对上表的prglngth列做一个直方图 import matplotlib.pyplot as plt import seaborn as sns #要注意的是一旦导入了seaborn,matplotlib的默认作图风格就会被覆盖成seaborn的格式 %matplotlib inline # 为了在jupyter notebook里作图,需要用到这个命令 sns.distplot(births['prglngth']) sns.plt.show()
可以看到与使用matplotlib作的直方图最大的区别在于有一条密度曲线(KDE),可以通过设置参数去掉这条默认的曲线
sns.distplot(births['prglngth'], kde=False) sns.plt.show()
那么Pandas与Seaborn之间有什么区别呢?
其实两者都是使用了matplotlib来作图,但是有非常不同的设计差异
在只需要简单地作图时直接用Pandas,但要想做出更加吸引人,更丰富的图就可以使用Seaborn
Pandas的作图函数并没有太多的参数来调整图形,所以你必须要深入了解matplotlib
Seaborn的作图函数中提供了大量的参数来调整图形,所以并不需要太深入了解matplotlib
Seaborn的API:https://stanford.edu/~mwaskom/software/seaborn/api.html#style-frontend
# 对上图进行更多的配置 sns.set_style('dark') # 该图使用黑色为背景色 sns.distplot(births['prglngth'], kde=False) # 不显示密度曲线 sns.axlabel('Birth number', 'Frequency') # 设置X轴和Y轴的坐标含义 sns.plt.show()
箱型图
# 以birthord作为x轴,agepreg作为y轴,做一个箱型图 sns.boxplot(x='birthord', y='agepreg', data=births) sns.plt.show()
多变量作图
seaborn可以一次性两两组合多个变量做出多个对比图,有n个变量,就会做出一个n × n个格子的图,譬如有2个变量,就会产生4个格子,每个格子就是两个变量之间的对比图var1 vs var1
var1 vs var2
var2 vs var1
var2 vs var2
相同的两个变量之间(var1 vs var1 和 var2 vs var2)以直方图展示,不同的变量则以散点图展示(var1 vs var2 和var2 vs var1)
要注意的是数据中不能有NaN(缺失的数据),否则会报错
sns.pairplot(births, vars=['agepreg', 'prglngth','birthord']) sns.plt.show()
相关文章推荐
- 数据可视化(三)- Seaborn简易入门
- 数据可视化(一)-Matplotlib简易入门
- 数据可视化(二)Matplotlib pandas简易入门
- 数据可视化的优秀入门书籍有哪些,D3.js 学习资源汇总
- 基于pandas和seaborn进行数据可视化以及相关性分析
- 数据可视化——Matplotlib模块入门(一)
- python数据可视化(五) seaborn
- Python数据可视化利器Matplotlib,绘图入门篇,Pyplot介绍
- 数据可视化难在哪里?该如何入门
- 数据可视化入门:柱状图、雷达图等六种基本图表的特点和适用场合
- python的另外一个数据可视化包 seaborn
- [mac] R入门 四 数据可视化
- seaborn, 数据可视化工具
- 数据可视化(data visualization)—— seaborn
- 利用python数据分析——基于Seaborn模块可视化
- python数据可视化包 seaborn
- [置顶] cesium学习记录(-)- 可视化空间数据Entity入门基础
- 读书笔记数据科学入门————可视化数据
- 数据可视化入门(二)
- seaborn 数据可视化(一)连续型变量可视化