seaborn使用(样式管理)
2018-03-03 13:53
148 查看
serborn使用
Seaborn是一个在Python中制作具有吸引力和丰富信息的统计图形的库。它建立在matplotlib之上,并与PyData堆栈紧密集成,包括支持scipy和pandas的数据结构以及scipy和 statsmodels的统计模型。serborn官方参考文档
样式管理
绘图函数
结构化网格
一、样式管理
**1. seaborn图形样式2. 去除坐标轴上的轴刺
3. 临时设置图形的样式
4. 重写seaborn的元素样式
5. 缩放图形的规模
6. 选择调色板
1.seaborn图形样式
seaborn目前共有五种样式,分别是
darkgrid, whitegrid, dark, white, and ticks,默认的是
darkgrid,黑色带网格的背景。
sns.set_style("whitegrid")
2.去除坐标轴上的轴刺
坐标轴上的轴刺是指,在刻度处显示的小竖线,为了美观,有时我们需要把该细线去掉,代码如下。
sns.despine()
3.临时设置图形的样式
与直接修改所有seaborn图形样式不一样,如果我们仅仅需要修改其中一个图形的样式,可以使用
with,代码如下。
with sns.axes_style("darkgrid"): plt.subplot(211) sinplot() plt.subplot(212) sinplot(-1)
4.重写seaborn的元素样式
如果想自定义某个元素的具体样式,可以将要修改的属性参数通过字典的方式传入到
axes_style()和
set_style()中,通过
sns.axes_style()可以查看当前的属性值和参数值,如果想要修改的参数不在返回的属性中,可以调用更高级别的函数
set(),该函数可以修改任意属性值。
5.图形规模的缩放
seaborn给我们提供了四个预定的值
paper,notebook,talk,poster,默认值是
notebook,需要注意的一点是,修改该属性值之前我们需要先调用
sns.set()重置默认的参数,代码如下。
sns.set() sns.set_context("paper") sinplot()
如果进一步的想要自定义图形的规模,可以通过以下代码实现。
sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5}) sinplot()
6.颜色的控制
定性的调色板
顺序调色板
发散调色板
定性调色板用来绘画那些没有相关关系的变量,可以从视觉上更好的区分不同变量。
current_palette = sns.color_palette() sns.palplot(current_palette)
上述代码中,
sns.color_palette()会返回当前默认调色板中的颜色列表,但颜色的个数是固定的,当我们需要使用的颜色数大于该列表中颜色的数量时,可以通过以下代码实现。
sns.palplot(sns.color_palette("husl", 8)) # 以下也可以实现 sns.palplot(sns.color_palette("Set2", 8))
我们可以修改数字8为其他数字,根据需要的颜色个数自行修改。
也可以直接指定使用的颜色
plt.plot([0, 1], [0, 1], sns.xkcd_rgb["pale red"], lw=3) plt.plot([0, 1], [0, 2], sns.xkcd_rgb["medium green"], lw=3) plt.plot([0, 1], [0, 3], sns.xkcd_rgb["denim blue"], lw=3);
顺序调色板也就是渐变色,我们可以通过颜色映射数据值的大小,尤其是在
kdeplot()和
corrplot中会经常使用。
sns.palplot(sns.color_palette("Blues")) sns.palplot(sns.color_palette("Blues_r"))
以上两行代码是改变颜色渐变的顺序,如图:
相关文章推荐
- Word2010使用技巧之三:管理样式模板
- 使用Maven管理项目-----创建Struts2,Spring,Hibernate项目
- 使用spring容器管理和配置netty
- 使用 Java 配置进行 Spring bean 管理
- 使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之用户管理(1)
- Python Flask Web 第十一课 —— 使用 Flask-SQLAlchemy 管理数据库
- 美丽的表格样式(使用CSS样式表控制表格样式)
- 使用github管理iOS分布式项目开发
- 版本管理工具:linux下svn的基本使用
- 使用 Flume 部署和管理可扩展的 Web 服务
- [置顶] supervisor的使用与管理
- 让IE7/8使用CSS中first-child和last-child样式属性
- 使用Jenkins启动maven作为项目构建管理工具的web项目
- 我应该使用哪种wsdl样式?
- linux学习笔记4:linux的任务调度,进程管理,mysql的安装和使用,ssh工具的使用,linux网络编程
- AndroidStudio配置及SVN使用代码管理
- 使用 <pre> 标签样式的注意事项
- 使用Mono管理Coyote Linux
- 使用spring实现事务管理(@transactional)的遇到的两个异常:java.lang.noclassdeffounderror:org/objectweb.asm
- MagicMongoDBTool数据管理工具使用介绍