Seaborn 在底层将matplotlib 参数分成了两个独立的组。第一组设定了美学风格,第二组则是不同的数据元素,这样就可以很容易地添加到代码当中了。
为了控制风格,使用 axesstyle() 和 setstyle() 函数。为了绘图,请使用 plotting_context() 和 set_context() 函数。在这两种情况下,第一个函数返回一个参数字典,第二个函数则设置 matplotlib 默认属性。
风格控制:axes_style() and set_style()seaborn默认设置了5 个不同的主题,适用于不同的应用和人群偏好:
5种主题风格
临时设定图形样式
虽然来回切换非常容易,但 sns (seaborn)也允许用 with 语句中套用 axes_style() 达到临时设置参数的效果(仅对 with 块内的绘图函数起作用)。这也允许创建不同风格的坐标轴。
如果您想要定制 seanborn 的样式,可以将参数字典传递给 axes_style() 和 set_style() 的 rc 参数。注意,只能通过该方法覆盖样式定义的一部分参数。(然而,更高层次的 set() 函数接受任何 matplotlib 参数的字典)。
如果您想要查看包含哪些参数,您可以只调用该函数而不带参数,这将返回当前设置的字典:
通过 plotting_context() 和set_context() 调整绘图元素
另一组参数控制绘图元素的大小,通过使用相同的代码来制作更合适大小的图形。
首先,可以通过 sns.set() 重置参数。
四种预设,按相对尺寸的顺序 (线条越来越粗),分别是 paper,notebook, talk, and poster。notebook 的样式是默认的,上面的绘图都是使用默认的 notebook 预设。
对于set_context() 参数,可以通过提供一个字典,来覆盖原来的参数 ,通过 context 的参数font_scale还可以改变字体元素的大小。(这个选项也可以通过顶级 set() 函数获得)。