在数据分析过程中,数据及模型可视化是无可避免的,同时这也是展示我们数据分析成果的最佳方式。因此,熟悉掌握绘图库的使用,对精进我们的数据分析技能起着不可替代的作用。

在上一篇中,我们掌握了Matplotlib的基本操作技巧。在有一定的认识基础后,我们今天再来看看在python里另一个强大的绘图库——Seaborn。

重温一下:

Seaborn 是以 Matplotlib 为核心的高阶绘图库,它基于 Matplotlib 核心库进行了更高阶的 API 封装,可以让你轻松地画出更漂亮的图形。Seaborn 的漂亮主要体现在配色更加舒服、以及图形元素的样式更加细腻。

下面我们来具体了解一下Seaborn有哪些优点:

1、帮助我们快速地优化图形(让我们画的图更美观)

首先我们借助上一篇的到代码,先来看看不用seaborn库的图形效果:

还是记得先导入库:

from matplotlib import pyplot as plt

%matplotlib inline

再代入图形的代码:

x=[1,2,3,4,5,6,7]

y1=[3,6,9,12,9,6,3]

y2=[2,9,11,8,6,4,3]

plt.bar(x, y1)

plt.plot(x, y2, '-o', color='r')

下面我们导入seaborn库,看看效果有什么变化:

首先导入库:

import seaborn as sns

sns.set()

再次导入代码:

x=[1,2,3,4,5,6,7]

y1=[3,6,9,12,9,6,3]

y2=[2,9,11,8,6,4,3]

plt.bar(x, y1)

plt.plot(x, y2, '-o', color='r')

对比之下,新画出来的图像颜色更为柔和,背景也较为舒适,整体上美观了不少。

敲小黑板:

在上述代码中,我们使用import seaborn as sns 导入库之后,接着在绘图之前,使用了Seaborn提供的声明代码:sns.set( ) 。

我们来简单认识一下sns.set( ):

函数体:

sns.set(context='notebook', style='darkgrid', palette='deep', font='sans-serif', font_scale=1, color_codes=False, rc=None)

主要参数:

1、context=' '

控制着默认的画幅大小,分别有 {paper, notebook, talk, poster} 四个值。其中,poster > talk > notebook > paper。

2、style=' '

控制默认样式,分别有 {darkgrid, whitegrid, dark, white, ticks},你可以自行更改查看它们之间的不同。

3、palette=' '

参数为预设的调色板。分别有 {deep, muted, bright, pastel, dark, colorblind} 等,你可以自行更改查看它们之间的不同。

4、font=' '

设置字体,font_scale= 设置字体大小,color_codes= 不使用调色板而采用先前的 'r' 等色彩缩写。

除此之外,

Seaborn 的绘图方法主要包括以下六种:关联图

类别图

分布图

回归图

矩阵图

组合图

具体用法:sns.绘图方法

例如:sns.relplot( )

每种绘图类型里,又各自包含了不同的函数,想具体了解的小伙伴可以到seaborn的官网看一下:seaborn: statistical data visualization​seaborn.pydata.org

下面我们简单介绍一下各个图类的一些用法:

关联图:

主要用于对数据进行关联性分析,常见的有以下用法:

要解释一下的是,上述的这种用法,在Seaborn 叫做 API (接口)API(应用程序编程接口)_百度百科​baike.baidu.com

其中,Seaborn 中的 API 分为 Figure-level 和 Axes-level 两种。

relplot是一个 Figure-level 接口,而scatterplot和lineplot则是 Axes-level 接口。

(Figure-level 和 Axes-level API 的区别?)

Axes-level 的函数可以实现与 Matplotlib 更灵活和紧密的结合,而 Figure-level 使用上更简单,适合快速应用。

类别图

catplot,categorical plots 的缩写。包含了许多Axes-level API,主要包括以下几种:

分布图

用于可视化变量的分布情况,一般分为单变量分布和多变量分布。其中,多变量多指二元变量,更多的变量无法绘制出直观的可视化图形。

常用方法:jointplot

pairplot

distplot

kdeplot

回归图

常用方法:lmplot

regplot

lmplot:支持引入第三维度进行对比,例如设置hue="species"。

regplot:绘制回归图时,只需要指定自变量和因变量,会自动完成线性回归拟合。

矩阵图

常用方法:heatmap

clustermap

heatmap :用于绘制热力图。

clustermap:用于绘制层次聚类结构图

组合图

和Matplotlib的用法差不多~侦探L:python绘图库——Matplotlib及Seaborn使用(入门篇1)​zhuanlan.zhihu.com

最后,我们来欣赏一下seaborn官网一些好看的图吧~

import seaborn as sns

sns.set(style="ticks")

dots = sns.load_dataset("dots")

# Define a palette to ensure that colors will be

# shared across the facets

palette = dict(zip(dots.coherence.unique(),

sns.color_palette("rocket_r", 6)))

# Plot the lines on two facets

sns.relplot(x="time", y="firing_rate",

hue="coherence", size="choice", col="align",

size_order=["T1", "T2"], palette=palette,

height=5, aspect=.75, facet_kws=dict(sharex=False),

kind="line", legend="full", data=dots)

import numpy as np

import pandas as pd

import seaborn as sns

from matplotlib import pyplot as plt

%matplotlib inline

sns.set()

# Generate an example radial datast

r = np.linspace(0, 10, num=100)

df = pd.DataFrame({'r': r, 'slow': r, 'medium': 2 * r, 'fast': 4 * r})

# Convert the dataframe to long-form or "tidy" format

df = pd.melt(df, id_vars=['r'], var_name='speed', value_name='theta')

# Set up a grid of axes with a polar projection

g = sns.FacetGrid(df, col="speed", hue="speed",

subplot_kws=dict(projection='polar'), height=4.5,

sharex=False, sharey=False, despine=False)

# Draw a scatterplot onto each axes in the grid

g.map(sns.scatterplot, "theta", "r")

以上便是的内容,感谢大家的细心阅读,同时欢迎感兴趣的小伙伴一起讨论、学习,想要了解更多内容的可以看我的其他文章,同时可以持续关注我的动态~

python绘图库seaborn_python绘图库——Matplotlib及Seaborn使用(入门篇2)相关推荐

  1. python绘图库seaborn_python绘图库——Matplotlib及Seaborn使用(入门篇1)

    在数据分析过程中,数据及模型可视化是无可避免的,同时这也是展示我们数据分析成果的最佳方式.因此,熟悉掌握绘图库的使用,对精进我们的数据分析技能起着不可替代的作用. 今天,我们就来了解一下python强 ...

  2. Python实现《谁说菜鸟不会数据分析(入门篇)》的案例

    这段时间在学习Excel和Python相关内容,Excel数据分析入门有一本<谁说菜鸟不会数据分析(入门篇)>,内容细致,简洁易懂,注重培养分析的思维而不仅仅是告知方法.在学习Python ...

  3. python簇状柱形图_Python:matplotlib 和 Seaborn 之簇状柱形图、分面 (三十五)

    簇状柱形图 为了描绘两个分类变量之间的关系,我们可以将在上节课见到的单变量条形图扩展为簇状柱形图.和标准条形图一样,我们依然需要描绘每组的数据点计数,但是每组现在是两个变量的标签组合.因此我们需要按照 ...

  4. python安装绘图库matplotlib_python绘图库Matplotlib的安装

    导读热词 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地 进行 ...

  5. python安装绘图库_python绘图库Matplotlib的安装

    本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地 进行制图.Ma ...

  6. matplotlib中文文档_python绘图库——Matplotlib及Seaborn使用(入门篇1)

    在数据分析过程中,数据及模型可视化是无可避免的,同时这也是展示我们数据分析成果的最佳方式.因此,熟悉掌握绘图库的使用,对精进我们的数据分析技能起着不可替代的作用. 今天,我们就来了解一下python强 ...

  7. python画画用哪库好_小白开始学Python最著名的绘图库

    原标题:小白开始学Python最著名的绘图库 这是菜鸟学Python的第101篇原创文章 数据分析里面可视化是重要的环节,辛苦把数据采集,然后经历了很多工序的清洗之后,最后要展现给用户,最好的方法就是 ...

  8. r语言ggplot2 多线图绘制图例_plotnine: Python版的ggplot2作图库

    腾讯课堂 | Python网络爬虫与文本数据分析 同样的基本作图任务,plotnine比matplotlib和seaborn代码量少,更美观.所以我又重新发一遍,大家可以先收藏起来,后面总有用到的时候 ...

  9. Python彩色图片转手绘风格

    Python彩色图片转手绘风格 from PIL import Image # 图像的手绘 """黑白风格边界的位置比较重相同或相近色彩趋近于白色咯有光源效果 " ...

最新文章

  1. 【pmcaff】凯文-凯利:最大颠覆来自创业公司与边缘产业
  2. 前端学PHP之PHP操作memcache
  3. k-Means算法(Machine Learning in Action)基于python3.6
  4. java小编程----在排序数组中查找元素的第一个和最后一个位置
  5. db2 迁移mysql,mysql 迁移 db2
  6. 物联网与万物互联有什么区别?
  7. 什么样的人适合自学编程?你以为你自学难是为什么?来看看答案吧!
  8. 编程语言python入门-手把手教你从零开始用Python语言写爬虫程序
  9. [好惆怅啊]TCL编码转换的问题
  10. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_4_综合案例_文件上传案例阻塞问题...
  11. QQ牧场接口协议分析
  12. 震旦ad369s_震旦ad369s驱动
  13. cmake gcc target specific option mismatch
  14. 网页倒计时制作(js)
  15. 2011020敏捷培训
  16. Galois Field NTT
  17. 屁股决定脑袋--是否可以把0603电容更换为0402的电容
  18. Druid之——连接池自定义数据库密码加解密的实现
  19. 思特奇2019校招笔试题
  20. Python秀操作 自动更换电脑壁纸

热门文章

  1. OpenGL ES入门详解
  2. Android音视频之AudioRecord录音(一)
  3. [Codeforces967C]Stairs and Elevators(二分查找)
  4. Java Applet编程总结
  5. mac下解决mysql乱码问题
  6. MyEclipse-6.5注冊码生成器源代码
  7. document.body、document.documentElement和window获取视窗大小的区别
  8. Android PopupWindow的使用和分析
  9. ShowDialog()之后,主窗体失去焦点
  10. Netty粘包拆包问题说明、演示拆包粘包情况代码以及解决