数据可视化(三)- Seaborn简易入门
本文内容来源:https://www.dataquest.io/mission/133/creating-compelling-visualizations
本文数据来源:http://www.cdc.gov/nchs/nsfg.htm
本文摘要:介绍一个以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简易入门的更多相关文章
- d3.js:数据可视化利器之快速入门
hello,data! 在进入d3.js之前,我们先用一个小例子回顾一下将数据可视化的基本流程. 任务 用横向柱状图来直观显示以下数据: var data = [10,15,23,78,57,29,3 ...
- Python Seaborn综合指南,成为数据可视化专家
概述 Seaborn是Python流行的数据可视化库 Seaborn结合了美学和技术,这是数据科学项目中的两个关键要素 了解其Seaborn作原理以及使用它生成的不同的图表 介绍 一个精心设计的可视化 ...
- Seaborn数据可视化入门
在本节学习中,我们使用Seaborn作为数据可视化的入门工具 Seaborn的官方网址如下:http://seaborn.pydata.org 一:definition Seaborn is a Py ...
- kaggle入门项目:Titanic存亡预测(三)数据可视化与统计分析
---恢复内容开始--- 原kaggle比赛地址:https://www.kaggle.com/c/titanic 原kernel地址:A Data Science Framework: To Ach ...
- Python数据可视化-seaborn库之countplot
在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是s ...
- Python数据可视化的四种简易方法
摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视化是任何数据科学或机器学习项目的一个重要组成部分.人们常常会从探索数据分析(EDA)开始,来深入了解数据, ...
- 数据可视化matplotlib、seaborn、pydotplus
如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10486560.html 一.数据可视化 data.mat 链接:https://p ...
- 数据可视化-svg入门基础(二)
接上一篇:数据可视化-svg入门基础(一),基础一主要是介绍了svg概念,元素样式设置等. svg是(scalable vector graphic)伸缩矢量图像. 一.目录 (1)图形元素 (2)文 ...
- seaborn教程4——分类数据可视化
https://segmentfault.com/a/1190000015310299 Seaborn学习大纲 seaborn的学习内容主要包含以下几个部分: 风格管理 绘图风格设置 颜色风格设置 绘 ...
随机推荐
- DebugView图文教程
Debug信息捕获软件. 可以很方便的捕获系统实时输出的Debug信息,并保存为日志文件.可以远程捕获服务器上的Debug信息. 比较方便开发人员在系统发布前监控一些系统流程和异常,甚至在系统不大的情 ...
- Debian7.7 wheezy 中源码安装emacs24
我用的是ARM版本,竟然没有最新的emacs 24,很多第三方插件不能用,果断重新编译个1.追加软件源 deb-src http://ftp.cn.debian.org/debian/ wheezy ...
- ASP.NET 之 网页快照 (DrawToBitmap)
一.添加引用 在解决方案上单击右键,选择“Add Reference...”,添加“System.Windows.Forms”,添加完后,Web.Config 中应该有类似下面的内容: <sys ...
- 用RSA实现Web单点登录密码的加密传输
在使用通用权限管理系统(吉日嘎拉)的单点登录功能时,对登录密码使用了RSA加密(非对称加密),有使用这个权限管理系统的可参考下. 前端部分,请引用以下几个js文件: <script type=& ...
- jquery 页面跳转 表单提交
$("#button").click(function () { $("#form").first().attr("action ...
- VMware系统运维(二)安装Microsoft .NET 3.5
1.安装vmware vSphere 5.5 之前先安装Microsoft .NET 3.5. 2.安装Microsoft .NET3.5,添加角色和功能. 3.勾选.NET Framework 3. ...
- Jackson - Features for configuring Java-to-JSON mapping
Following on/off features are defined in SerializationConfig.Feature (for Jackson 1.x), or Serializa ...
- OpenXml Excel数据导入导出(含图片的导入导出)
声明:里面的很多东西是基于前人的基础上实现的,具体是哪些人 俺忘了,我做了一些整合和加工 这个项目居于openxml做Excel的导入导出,可以用OpenXml读取Excel中的图片 和OpenXml ...
- 每天一道LeetCode--118. Pascal's Triangle(杨辉三角)
Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5,Retur ...
- Android drawable xml 各种小知识
摘抄自网络. 圆角或者各种变种背景, <?xml version="1.0" encoding="utf-8"?> <shape xmlns: ...