Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。

  • Python中的一个制图工具库,可以制作出吸引人的、信息量大的统计图

  • 在Matplotlib上构建,支持numpy和pandas的数据结构可视化。

  • 多个内置主题及颜色主题

  • 可视化单一变量、二维变量用于比较数据集中各变量的分布情况

  • 可视化线性回归模型中的独立变量及不独立变量

import numpy as np
import pandas as pd
# from scipy import stats
import matplotlib.pyplot as plt
import seaborn as sns
# %matplotlib inline

数据集分布可视化

单变量分布 sns.distplot()

# 单变量分布
x1 = np.random.normal(size=1000)
sns.distplot(x1);x2 = np.random.randint(0, 100, 500)
sns.distplot(x2);

运行结果:

直方图 sns.distplot(kde=False)

# 直方图
sns.distplot(x1, bins=20, kde=False, rug=True)

运行结果:

核密度估计 sns.distplot(hist=False) 或 sns.kdeplot()

# 核密度估计
sns.distplot(x2, hist=False, rug=True)

运行结果:

双变量分布

# 双变量分布
df_obj1 = pd.DataFrame({"x": np.random.randn(500),"y": np.random.randn(500)})df_obj2 = pd.DataFrame({"x": np.random.randn(500),"y": np.random.randint(0, 100, 500)})

散布图 sns.jointplot()

# 散布图
sns.jointplot(x="x", y="y", data=df_obj1)

运行结果:

二维直方图 Hexbin sns.jointplot(kind=‘hex’)

示例代码:

# 二维直方图
sns.jointplot(x="x", y="y", data=df_obj1, kind="hex");

运行结果:

核密度估计 sns.jointplot(kind=‘kde’)

# 核密度估计
sns.jointplot(x="x", y="y", data=df_obj1, kind="kde");

运行结果:

数据集中变量间关系可视化 sns.pairplot()

# 数据集中变量间关系可视化
dataset = sns.load_dataset("tips")
#dataset = sns.load_dataset("iris")
sns.pairplot(dataset);

运行结果:

类别数据可视化

#titanic = sns.load_dataset('titanic')
#planets = sns.load_dataset('planets')
#flights = sns.load_dataset('flights')
#iris = sns.load_dataset('iris')
exercise = sns.load_dataset('exercise')

类别散布图

sns.stripplot() 数据点会重叠

sns.stripplot(x="diet", y="pulse", data=exercise)

运行结果:

sns.swarmplot() 数据点避免重叠,hue指定子类别

sns.swarmplot(x="diet", y="pulse", data=exercise, hue='kind')

运行结果:

类别内数据分布

盒子图 sns.boxplot(), hue指定子类别

示例代码:

# 盒子图
sns.boxplot(x="diet", y="pulse", data=exercise)
#sns.boxplot(x="diet", y="pulse", data=exercise, hue='kind')

运行结果:

小提琴图 sns.violinplot(), hue指定子类别

# 小提琴图
#sns.violinplot(x="diet", y="pulse", data=exercise)
sns.violinplot(x="diet", y="pulse", data=exercise, hue='kind')

运行结果:

类别内统计图

柱状图 sns.barplot()

示例代码:

# 柱状图
sns.barplot(x="diet", y="pulse", data=exercise, hue='kind')

运行结果:

点图 sns.pointplot()

# 点图
sns.pointplot(x="diet", y="pulse", data=exercise, hue='kind');

运行结果:

参考资料

http://seaborn.pydata.org/

数据可视化 | Seaborn相关推荐

  1. Py之Seaborn:数据可视化Seaborn库的柱状图、箱线图(置信区间图)、散点图/折线图、核密度图/等高线图、盒形图/小提琴图/LV多框图的组合图/矩阵图实现

    Py之Seaborn:数据可视化Seaborn库的柱状图.箱线图(置信区间图).散点图/折线图.核密度图/等高线图.盒形图/小提琴图/LV多框图的组合图/矩阵图实现 目录

  2. Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化、箱型图/散点图、小提琴图/散点图组合可视化的简介、使用方法之最强攻略(建议收藏)

    Py之seaborn:数据可视化seaborn库(二)的组合图可视化之密度图/核密度图分布可视化.箱型图/散点图.小提琴图/散点图组合可视化的简介.使用方法之最强攻略(建议收藏) 目录 二.组合图可视 ...

  3. Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid密度图等的函数源代码详解之最强攻略

    Py之seaborn:数据可视化seaborn库(三)的矩阵图可视化之jointplot/JointGrid/pairplot/PairGrid/FacetGrid折线图/柱状图+散点图/矩形密度图的 ...

  4. Python数据可视化seaborn(五) -- 分类统计图

    分类数据可视化 - 统计图 barplot() / countplot() / pointplot() import numpy as np import pandas as pd import ma ...

  5. python画图怎么调色_数据可视化Seaborn从零开始学习教程(二) 颜色调控篇

    作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 Seaborn学习大纲 seaborn的学习内容主要包含以下几个部分: 风格管理 绘图风格设置 颜色风格设置 绘图方 ...

  6. python seaborn教程_数据可视化Seaborn从零开始学习教程(一) 风格选择

    作者:xiaoyu 微信公众号:Python数据科学 知乎:python数据分析师 最近在做几个项目的数据分析,每次用到seaborn进行可视化绘图的时候总是忘记具体操作.虽然seaborn的官方网站 ...

  7. python颜色参数palette_python数据可视化seaborn(一)—— 整体样式与调色板

    很久之前对seaborn有过一些涉及但是没有深入探究,这次有趁着有数据可视化的需求,就好好学一学 Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在 ...

  8. Python数据可视化-seaborn Iris鸢尾花数据

    首先介绍一下Iris鸢尾花数据集,内容摘自百度百科:Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理."Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集.最近我 ...

  9. 数据分析~数据可视化-seaborn

    详细介绍可以看seaborn官方API和example galler. 1  set_style( )  set( ) set_style( )是用来设置主题的,Seaborn有五个预设好的主题: d ...

最新文章

  1. java访问修饰符详解——学java,零基础不怕,不只要理论,更要实践+项目,a href=http://www.bjweixin.com太原维信科技提供 /a...
  2. 【CV秋季划】图像质量提升与编辑有哪些研究和应用,如何循序渐进地学习好?...
  3. [C/C++基础知识] 那些被遗忘的链表知识
  4. Winform中用了皮肤控件之后,报错:容量超出了最大容量 参数名:capacity
  5. WORD 一回车就产生自动编号?
  6. 联合国超10万名员工记录遭泄露
  7. matlab简单分析信号调制解调
  8. 卷积神经网络识别车辆(自建+迁移学习)
  9. 北京16个山水美景| 清明小长假走起吧!
  10. 冗余技术----热备份网关协议
  11. 编号配置(组织编号、人员编号、SNRO)
  12. Linux安装git报错make[1]: *** [perl.mak] 错误 2
  13. 机械硬盘显示数据错误循环冗余检查文件如何寻回
  14. 使用C语言绘制一个笑脸smile
  15. 三相MMC并网逆变器/模块化多电平变换器/相间环流抑制/子模块电容电压均衡/载波移相调制
  16. crontab环境变量问题
  17. .Net 全球化应用(Global):中英文翻译(附:谷歌在线翻译代码)
  18. ERP软件触发器判断单身数据为什么状态,如何执行
  19. Springer 投稿模板latex,可在ctex上运行
  20. System memory 249364480 must be at least 471859200

热门文章

  1. 见到了“公司”定义一个Company类,那么见到了“字段”是不是也可定义一个Column类?...
  2. 解决该死的双硬盘蓝屏(错误代码:0x00000007b)!
  3. MySQL优化篇:执行计划explain中key_len计算方式
  4. Scrum看板工具Leangoo记录我的装修事件,hhhh
  5. 说说Nginx的核心技术和场景的使用方式!
  6. 深入理解 Linux 的 epoll 机制
  7. 几个简化算法理解的网站,进来收藏!
  8. 某百度程序员中午面试一个阿里程序员,晚上去阿里面试,面试官竟是中午那个人!
  9. 作为程序员的你第一套房子是多少岁?多少万?
  10. 新晋技术Leader每天996,CTO却给他绩效打C,留下一句话...