seaborn使用(样式管理)


Seaborn是一个在Python中制作具有吸引力和丰富信息的统计图形的库。它建立在matplotlib之上,并与PyData堆栈紧密集成,包括支持scipy和pandas的数据结构以及scipy和 statsmodels的统计模型。

serborn官方参考文档

  • 样式管理
  • 绘图函数
  • 结构化网格

一、样式管理

  1. seaborn图形样式
  1. 去除坐标轴上的轴刺
  2. 临时设置图形的样式
  3. 重写seaborn的元素样式
  4. 缩放图形的规模
  5. 选择调色板

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中会经常使用。

seaborn使用(样式管理)的更多相关文章

  1. CQGUI框架之样式管理

    大家好,我是IT文艺男,来自一线大厂的一线程序员 今天给大家讲解基于C++/Qt的CQGUI框架的样式管理实现. 在Qt平台,实现窗口/控件美化或者自定义效果,有如下两种方式 重绘 样式 对于重绘,我 ...

  2. css样式管理

    css命名 传统网站页面(企业级),大概就是about,product,register等,他们的名字较好区分,他们的样式整体也不会很大,用简单的驼峰法就够了,或者简单的模块. 非传统企业页面,命名驼 ...

  3. CloudNotes之桌面客户端篇:笔记撰写样式的支持

    最近在CloudNotes桌面客户端中新增了笔记撰写样式的功能.当用户新建笔记的时候,可以在输入笔记标题的同时,选择笔记撰写样式,由安装包默认提供的样式主要有默认样式(Default).羊皮纸样式(L ...

  4. [zz] 基于国家标准的 EndNote 输出样式模板

    基于国家标准的 EndNote 输出样式模板 https://cnzhx.net/blog/endnote-output-style-cnzhx/ 发表于 2013-05-26 作者 Haoxian ...

  5. NoteExpress 自定义参考文献输出样式

    最近在写硕士论文,样式中没有符合要求的,于是就自己来编辑下样式文件,下文是网上搜集的关于自定义参考文献的一篇教程,可以参考. 一.分隔符|和连接符*的使用 (1)连接符 * 主要作用是“建立依赖关系” ...

  6. ArcGIS中的style样式的使用

    MapGIS安装包大小(以M计算)与ArcGIS (以G计算)在数量级存在差异,就可以隐约知道ArcGIS功能的强大.ArcGIS更注重重用(比如符号库.模块等).数据与制图分离(尤其是制图表达最能体 ...

  7. ArcGIS中定义图框样式

    ArcGIS系统中的样式可能不能满足实际生产需要,为了实现快速制图,可自定义一些样式,以便重复利用. 安装字符 因为样式中定义了自定义的符号,这些符号都打包到字体中,所以在使用样式之前,必须安装字体文 ...

  8. DotNetBar怎样控制窗口样式

    DotNetBar怎样控制窗口样式 老帅  在C#中使用控件DevComponents.DotNetBar时,怎样创建一个美丽的窗口.并控制窗口样式呢? 1.新建一个DotNetBar窗口       ...

  9. [转]基于国家标准的 EndNote 输出样式模板 ----直接用endnote导入到word,不用自己一个个改参考文献了

    EndNote 相当于一个数据库,将添加/导入的文献存档.需要引用文献的时候就从中选择一个插入到文档中,EndNote 会自动给你编号.在文档末尾建立相应的参考文献列表.但是各种杂志.单位要求的文献著 ...

随机推荐

  1. IDEA安装和JDK的配置

    安装: 免费获取注册码:   http://idea.lanyus.com/ 将其压缩包解压后:  应用程序在bin目录下 打开之后: 选择第二个,输入刚获取的验证码: 成功. 如果没有安装JDK报错 ...

  2. windows下nginx代理ftp服务器

    我所在的开发环境里,nginx和ftp在同一台服务器. ftp根目录: nginx的配置: 在nginx.conf中加入: server { listen ; server_name localhos ...

  3. 如何打开hprof文件

    最近学习深入java虚拟机的书,照着里面的例子跑了下. 下面是demo: /** * VM Args:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError * ...

  4. SpringMVC(八):使用Servlet原生API作为Spring MVC hanlder方法的参数

    在SpringMVC开发中,是有场景需要在Handler方法中直接使用ServletAPI. 在Spring MVC Handler的方法中都支持哪些Servlet API作为参数呢? --Respo ...

  5. Struts(十六):通过CURD来学习Struts流程及ModelDriven的用法

    背景: 从一个Member的增删改查,来了解Struts2的运行原理及学习ModelDriven拦截器.Preparable拦截器. 新建项目实现列表的展示及删除功能: web.xml <?xm ...

  6. 1.3WEB API 默认以json格式返回数据,同时定义时间格式,返回格式

    首先我们知道,web api 是可以返回任意类型的,然后在输出的过程中转为(默认的)xml. 但是xml是比较费流量的,而且大多前端都是用json对接,所以我们也只能随大流,把它输出改成json. 不 ...

  7. Java - Spring MVC 实现跨域资源 CORS 请求

    拦截器设置响应头 这种方式原理就是利用拦截器在方法执行前,我们增加请求的响应头,用来支持跨域请求.这种方案是可行的,大部分都是采用这种方案.我当时也是打算采用这种方案,直到我发现原来 Spring 框 ...

  8. 00-深入理解C#读书笔记说明

    带着问题去看书 尝试着,根据每一小节,先列出大纲.然后根据自己原先的认知和理解以及不理解,对每一个小的chapter,我会先自我提问,带着问题去阅读,然后把我的理解以及不理解记录下来,对于错误的地方做 ...

  9. 一 Django模型层简介(一)

    模型 django提供了一个强大的orm(关系映射模型)系统. 模型包含了你要在数据库中创建的字段信息及对数据表的一些操作 使用模型 定义好模型后,要告诉django使用这些模型,你要做的就是在配置文 ...

  10. [LeetCode] Candy Crush 糖果消消乐

    This question is about implementing a basic elimination algorithm for Candy Crush. Given a 2D intege ...