本文数据来源: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 pdbirths = pd.read_csv('births.csv')

直方图

在上一篇文章中已经使用过pandas.DataFrame.hist()来制作直方图了,现在用seaborn.distplot()来制作直方图,观察之间的差异

# 对上表的prglngth列做一个直方图import matplotlib.pyplot as pltimport 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来作图,但是有非常不同的设计差异

  1. 在只需要简单地作图时直接用Pandas,但要想做出更加吸引人,更丰富的图就可以使用Seaborn
  2. Pandas的作图函数并没有太多的参数来调整图形,所以你必须要深入了解matplotlib
  3. Seaborn的作图函数中提供了大量的参数来调整图形,所以并不需要太深入了解matplotlib
  4. 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个格子,每个格子就是两个变量之间的对比图

  1. var1  vs  var1
  2. var1  vs  var2
  3. var2  vs  var1
  4. 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简易入门相关推荐

  1. 【书签】数据可视化(三)- Seaborn简易入门

    数据可视化(三)- Seaborn简易入门 转载于:https://www.cnblogs.com/aaronhoo/p/10039016.html

  2. pandas 作图 统计_Pandas数据可视化工具——Seaborn用法整理(下)

    本科数学,编程几乎零基础(之前只学过matlab)今年年初开始学习Python数据挖掘,找到了一个很好的平台--BigQuant,省去了安装Python和安装各种库的烦恼.我最近在开始了解机器学习,B ...

  3. ECharts实现数据可视化超详细基础入门教程

    ECharts实现数据可视化超详细基础入门教程 ECharts介绍 ECharts官网:https://echarts.apache.org/zh/index.html ECharts是一款基于Jav ...

  4. 视频教程-跟风舞烟学大数据可视化-Echarts从入门到上手实战-JavaScript

    跟风舞烟学大数据可视化-Echarts从入门到上手实战 网名风舞烟,中国科技大学计算机专业.微软认证讲师(MCE).微软数据分析讲师.10多年软件行业从业经验,参与过数百万的企业级ERP系统,在大数据 ...

  5. python爬虫数据可视化_适用于Python入门者的爬虫和数据可视化案例

    本篇文章适用于Python小白的教程篇,如果有哪里不足欢迎指出来,希望对你帮助. 本篇文章用到的模块: requests,re,os,jieba,glob,json,lxml,pyecharts,he ...

  6. python数据可视化工具 pandas_Pandas数据可视化工具——Seaborn用法整理(下)

    在前一篇文章 Pandas数据可视化工具--Seaborn用法整理(上),我们了解了如何使用这些Seaborn代码绘制分布图和分类图.在本文中,我们将继续讨论Seaborn提供的一些其他以绘制不同类型 ...

  7. 数据可视化的利器-Seaborn简易入门

    Seaborn是针对统计绘图的,一般来说,Seaborn能满足数据分析90%的绘图需求.本站整理的Seaborn的41个样例代码,在github进行分享,绝大部分数据可视化的问题可以参考这里的样例代码 ...

  8. 【数据可视化】Seaborn简单介绍

    Seaborn库简单介绍 参考链接: python画分布.密度等图形 Python数据可视化-seaborn 10分钟python图表绘制 | seaborn入门(一):distplot与kdeplo ...

  9. python seaborn_Python数据可视化,seaborn如何做出非常规图表

    此系列文章收录在公众号中:数据大宇宙 > 数据可视化 > mpl 转发本文并私信我"python",即可获得Python资料以及各种心得(持续更新的) 前言 上一节(P ...

  10. 数据可视化之Seaborn绘图

    知识结构 Seaborn简介 话不多说,我们首先来欣赏几张 Seaborn 绘制的图形,一睹为快. 是不是很酷炫?学习完Seaborn的相关内容,你也可以轻松地画出这样的图. Seaborn 是 Py ...

最新文章

  1. python基础知识整理 第一节:入门记录(包含代码与执行结果)
  2. rhel5.5安装xwindow
  3. L1-008.求整数段和
  4. CV06-Xception笔记
  5. 【控制】《多智能体机器人系统信息融合与协调》范波老师-第4章-基于证据推理的多 Agent 分布式决策
  6. HighNewTech:70后、80后、90后、95后职场人大数据调查(有趣的五个结论)——源于猎聘网
  7. Window系统下C/C++程序毫秒和微秒级程序运行时间的获取方法
  8. css2.1中 firefox 与IE 对margin-top的不同解释
  9. 【Android】Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法
  10. dom4j和jaxp解析工具的
  11. 昨天,我的大学学习[2]
  12. Koa项目搭建过程详细记录
  13. 【干货】微信小程序如何设置背景图片
  14. Java实现二分查找法
  15. DuiLib(一)——窗口及消息
  16. android 蓝牙通讯测试工具,Android Bluetooth 学习(2)应用层实现蓝牙设备查找、tcp_ip通信...
  17. vue的零碎知识点-黑马后台项目整理
  18. VTD软件说明书阅读之OpenDRIVE Scenario Editor
  19. php 固定表头,固定表头和首列的表格
  20. JVM垃圾收集器分类

热门文章

  1. 【简洁易懂】Filter的四种拦截方式
  2. 【GIF动画+完整可运行源代码】C++实现 选择排序——十大经典排序算法之二
  3. 简介明了——map+multimap头文件函数详解
  4. 用php求n个分数的和,php关于数组n个随机数分成x组,使每组值相近的算法
  5. python 定义变量怎么定义_python变量定义和定义规范
  6. python行转列_pandas.DataFrame中pivot()如何实现行转列的问题(代码)
  7. mysql忘了root密码_mysql忘记root密码怎么办
  8. 通讯录排序 (20分)_算法入门篇:简单的排序算法
  9. pool python 传参数_Python-爬虫-多线程、线程池模拟(urllib、requests、UserAgent、超时等)...
  10. mysql实际项目中使用多长时间_存储过程在实际项目中用的多吗?