原文连接:https://segmentfault.com/a/1190000014915873segmentfault
seaborn
的学习内容主要包含如下几个部分:网络
风格管理函数
颜色风格设置
绘图方法工具
结构网格post
本次将主要介绍颜色调控
的使用。学习
Seaborn实际上是在matplotlib的基础上进行了更高级的API封装,从而使得做图更加容易,在大多数状况下使用seaborn就能作出很具备吸引力的图,而使用matplotlib就能制做具备更多特点的图。应该把Seaborn视为matplotlib的补充,而不是替代物。字体
安装方法:spa
1 pip install seaborn
画一个吸引人注意的图表至关重要。当你探索一个数据集,须要画图表,图表看起来使人愉悦是件很高兴的事。在与你的观众交流观点时,可视化一样重要,同时,也颇有必要去让图表吸引注意力和印入脑海里。Matplotlib自动化程度很是高,可是,掌握如何设置系统以便得到一个吸引人的图是至关困难的事。为了控制matplotlib图表的外观,Seaborn模块自带许多定制的主题和高级的接口。3d
#转换成Seaborn模块,只须要引入seaborn模块。
import seaborn as sns
sns.set()#切换到seaborn默认值
sinplot()code
seaborn默认浅灰色背景与白色网络线的灵感来源于matplotlib,却比matplotlib的颜色更多柔和。咱们发现,网络线对于传播信息颇有用,几乎在全部状况下,人们喜欢图甚于表。默认状况下白灰网格的形式能够避免过于刺眼。在多面做图的状况下,网络形式显得至关的有利,提供了一种做图结构,这对模块中的一些复杂工具很是重要。
Seaborn
将 matplotlib
的参数划分为两个独立的组合。第一组是设置绘图的外观风格的,第二组主要将绘图的各类元素按比例缩放的,以致能够嵌入到不一样的背景环境中。
操控这些参数的接口主要有两对方法:
axes_style()
, set_style()
plotting_context()
, set_context()
每对方法中的第一个方法(axes_style()
, plotting_context()
)会返回一组字典参数,而第二个方法(set_style()
, set_context()
)会设置matplotlib的默认参数。
axes_style()
and set_style()
set_style()
有五种预设的seaborn主题:暗网格(darkgrid),白网格(whitegrid),全黑(dark),全白(white),全刻度(ticks)。以适应不一样人不一样的爱好。
1 sns.set_style("dark") #全黑风格 2 sinplot()
sns.set_style("white") # 全白 sinplot()
1 sns.set_style("ticks") #全刻度 2 sinplot()
全白(white)和全刻度(tick)均可以从去除没必要要的上边框和右边框中获益。能够调用seaborn函数destine()来删除它们:
1 sinplot() 2 sns.despine()
一些图表获益于限制数据脊柱,这也能够调用destine()来完成。当刻度没有彻底覆盖整个轴的范围时,trim
参数能够用来限制已有脊柱的范围。
1 f, ax = plt.subplots() 2 sns.violinplot(data=data) 3 sns.despine(offset=10, trim=True);
你也能够经过despine()
控制哪一个脊柱将被移除。
1 sns.set_style("whitegrid") 2 sns.boxplot(data=data, palette="deep") 3 sns.despine(left=True)
虽然来回切换风格很容易,可是你也能够在一个with
语句中使用axes_style()
方法来临时的设置绘图参数。这也容许你用不一样风格的轴来绘图:
1 with sns.axes_style("darkgrid"): 2 plt.subplot(211) 3 sinplot() 4 plt.subplot(212) 5 sinplot(-1)
若是你想定制化seaborn
风格,你能够将一个字典参数传递给axes_style()
和set_style()
的参数rc
。并且你只能经过这个方法来覆盖风格定义中的部分参数。
若是你想要看看这些参数都是些什么,能够调用这个方法,且无参数,这将会返回下面的设置:
而后你能够设置这些参数的不一样版本了
1 sns.set_style("darkgrid", {"axes.facecolor": ".9"}) 2 sinplot()
plotting_context()
, set_context()
有一套的参数能够控制绘图元素的比例。
首先,让咱们经过set()
重置默认的参数:
sns.set()
有四个预置的环境,按大小从小到大排列分别为:paper, notebook, talk, poster。其中,notebook是默认的。
sns.set_context("paper") sinplot()
sns.set_context("talk") sinplot()
sns.set_context("poster") sinplot()
你能够经过使用这些名字中的一个调用set_context()
来设置参数,而且你能够经过提供一个字典参数值来覆盖参数。当改变环境时,你也能够独立的去缩放字体元素的大小。
sns.set_context("notebook", font_scale=1.5, rc={"lines.linewidth": 2.5}) sinplot()
一样的,你能够经过嵌入with
语句临时的控制绘图的比例