用seaborn对数据可视化
以下用sns作为seaborn的别名
1.seaborn整体布局设置
sns.set_syle()函数设置图的风格,传入的参数可以是"darkgrid", "whitegrid", "dark", "white", "ticks", 分别代表五种风格。sns.despine()可以去掉右边和上面的边线。
下面的代码画出五种风格的图
import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt def sinplot(ax):
x = np.linspace(, , )
for i in range():
y = np.sin(x+i*)*(-i)
ax.plot(x, y) style = ["darkgrid", "whitegrid", "dark", "white", "ticks"]
print(style[]) plt.figure(figsize=(, ))
for i in range():
sns.set_style(style[i]) #设置样式一定要在子图的定义之前!!!!!!!
ax = plt.subplot(, , i+)
ax.set_title(style[i])
sinplot(ax) plt.show()
运行结果如下

2.关于seaborn设置样式是针对哪个图形区(subplot)的问题
下面是我做的一个实验性的代码
import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt fig = plt.figure(figsize=(,))
x = np.linspace(, *np.pi, )
y = np.sin(x)
ax_sin = plt.subplot(, , )
sns.set() #根据就近原则,这里的set操作是针对最近未定义的图形区ax_cos的
sns.despine(offset=) #根据就近原则,这里的despine操作是针对最近定义的图形区ax_cos的
plt.plot(x, y) #根据就近原则,这里的plot操作是针对最近定义的图形区ax_sin的
z = np.cos(x)
ax_cos = plt.subplot(, , )
plt.plot(x, z) #根据就近原则,这里的plot操作是针对最近定义的图形区ax_cos的
plt.show()
运行结果如下,根据运行结果可以推测,seaborn的despine操作和pyplot的plot操作都是在最近已经定义的图形区上,例如代码12,13行是在ax_sin上操作的,而11行的set是在即将定义的图形区上操作,
即ax_cos上操作。至于为什么会有这个规律以及有没有相关总结,关于哪些操作是在最近已经定义的图形区上还是在即将定义的图形区上进行暂时我还不清楚,希望有大神能指点一下。

3.上面的问题可以用with语句解决了嘻嘻
放代码
import seaborn as sns
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt fig = plt.figure(figsize=(,))
x = np.linspace(, *np.pi, )
y = np.sin(x)
with sns.axes_style("darkgrid"):
ax_sin = plt.subplot(, , )
sns.despine(offset=) #根据就近原则,这里的despine操作是针对最近定义的图形区ax_cos的
plt.plot(x, y) #根据就近原则,这里的plot操作是针对最近定义的图形区ax_sin的
with sns.axes_style("whitegrid"):
z = np.cos(x)
ax_cos = plt.subplot(, , )
plt.plot(x, z) #根据就近原则,这里的plot操作是针对最近定义的图形区ax_cos的
plt.show()
运行结果如下

4.set_context()函数,可以传四个参数"paper", "talk", "notebook", "poster",用于设置坐标轴风格
5.后面偷懒不记了,感觉这个以后用的不多,关于该课程的知识点这个简书链接可以看到:
https://www.jianshu.com/p/8ccfcd6e4d25
用seaborn对数据可视化的更多相关文章
- seaborn线性关系数据可视化:时间线图|热图|结构化图表可视化
一.线性关系数据可视化lmplot( ) 表示对所统计的数据做散点图,并拟合一个一元线性回归关系. lmplot(x, y, data, hue=None, col=None, row=None, p ...
- seaborn分类数据可视化
转载:https://cloud.tencent.com/developer/article/1178368 seaborn针对分类型的数据有专门的可视化函数,这些函数可大致分为三种: 分类数据散点图 ...
- seaborn分类数据可视化:散点图|箱型图|小提琴图|lv图|柱状图|折线图
一.散点图stripplot( ) 与swarmplot() 1.分类散点图stripplot( ) 用法stripplot(x=None, y=None, hue=None, data=None, ...
- seaborn分布数据可视化:直方图|密度图|散点图
系统自带的数据表格(存放在github上https://github.com/mwaskom/seaborn-data),使用时通过sns.load_dataset('表名称')即可,结果为一个Dat ...
- Seaborn数据可视化入门
在本节学习中,我们使用Seaborn作为数据可视化的入门工具 Seaborn的官方网址如下:http://seaborn.pydata.org 一:definition Seaborn is a Py ...
- Python Seaborn综合指南,成为数据可视化专家
概述 Seaborn是Python流行的数据可视化库 Seaborn结合了美学和技术,这是数据科学项目中的两个关键要素 了解其Seaborn作原理以及使用它生成的不同的图表 介绍 一个精心设计的可视化 ...
- Python数据可视化-seaborn库之countplot
在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是s ...
- 数据可视化 seaborn绘图(1)
seaborn是基于matplotlib的数据可视化库.提供更高层的抽象接口.绘图效果也更好. 用seaborn探索数据分布 绘制单变量分布 绘制二变量分布 成对的数据关系可视化 绘制单变量分布 se ...
- Python图表数据可视化Seaborn:3. 线性关系数据| 时间线图表| 热图
1. 线性关系数据可视化 lmplot( ) import numpy as np import pandas as pd import matplotlib.pyplot as plt import ...
随机推荐
- python+selenium破解极验验证登录
1.前言: 目前很多网站会在正常的账号密码认证之外加一些验证码,以此来明确区分人/机行为,最典型的就是极验滑动验证.(如下图) 这里我们以简单实例说明如何实现自动校验类似验证. 2.步骤: 1)点击验 ...
- 后台运行任务nohup xxxxxx &
转载:https://www.cnblogs.com/baby123/p/6477429.html https://blog.csdn.net/davidhzq/article/details/102 ...
- java ArrayList迭代过程中删除
第一种迭代删除方式: 第二种迭代删除方式: 第三种迭代删除: 第四种迭代删除: 第五种迭代删除: 第六种: ArrayList中remove()方法的机制,首先看源码: 真正的删除操作在fastRem ...
- redis中如何存储java对象
根据redis的存储原理,Redis的key和value都支持二进制安全的字符串 1.利用序列化和反序列化的方式 存储java对象我们可以通过对象的序列化与反序列化完成存储于取出,这样就可以使用red ...
- 【转】H5 浏览器和 webview 后退缓存机制
来源:https://juejin.im/entry/588b44a08fd9c544813ed5b3 一.背景 用户点击浏览器工具栏中的后退按钮,或者移动设备上的返回键时,或者JS执行history ...
- pyqt5--QTDesigner--安装与配置
安装: 安装PyQt5-tools 文件--->设置---> ---> 安装之后在 安装目录\Lib\site-packages\pyqt5_tools 找到 designer.e ...
- Python条件控制与循环
条件控制语句:if 循环语句:while.for 其他语句:continue.break.pass 1.if语句 # ================================ a = 1 if ...
- 数据结构——Bloom Filter
1. 一个很长的二进制向量和一个映射函数 2.用于检索一个元素是否在集合中,但有一定的错误概率:通过BloomFilter的元素不一定在集合当中,但是不通过BloomFilter的元素一定不在集合当中 ...
- spring cloud-1
- 15. ClustrixDB 管理数据分布
本节使用的关键术语: Relation — ClustrixDB中的每个表都被称为“关系”. Representation — 在ClustrixDB中,每个索引都称为一个“Representatio ...