欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

seaborn基本操作——风格设置(以绘制正弦函数为例)

程序员文章站 2022-07-14 10:02:37
...

  在学习了matplotlib之后便紧跟着开始seaborn的学习,seaborn是对matplotlib的进一步封装,令我们的绘图操作进一步简化,使用seaborn我们便可以简单的绘制出风格迥异的图例,是我们数据展示的利器。 
  我们从seaborn的风格转换开始入门学习,以绘制正弦函数为例。
  首先在正常的matplotlib中我们绘制一组正弦函数的曲线,代码如下:
  

import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
%matplotlib inline

def sinplot(flip = 1):
    x = np.linspace(0, 14, 100)
    for i in range(1, 7):
        plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)

sinplot()

执行这段代码后,会出现如下结果:
seaborn基本操作——风格设置(以绘制正弦函数为例)

这是matplotlib默认风格下的绘制结果。
因为我是在jupyter notebook下进行的操作,所以是一个分片一个分片进行的操作。之后我们引入seaborn包并对风格进行设置,看看结果。

import seaborn as sns
sns.set()
sinplot()

结果如下:
seaborn基本操作——风格设置(以绘制正弦函数为例)

执行了set()函数,我们引入了seaborn的默认风格,可以看到与matplotlib还是有一定区别的。
目前seaborn中有五种风格,如下:
- darkgrid
- whitegrid
- dark
- white
- ticks
接下来我们使用whitegrid风格绘制一个箱图,数据是一组利用numpy构造的标准正态分布。代码如下:

sns.set_style('whitegrid')
data = np.random.normal(size=(20, 6)) + np.arange(6)/2
sns.boxplot(data)

seaborn基本操作——风格设置(以绘制正弦函数为例)
结果如图。可以看到背景是一种白色的,选择风格为white的绘制的正弦结果如下:

sns.set_style('white')
sinplot()

seaborn基本操作——风格设置(以绘制正弦函数为例)

我们还可以利用with语句对子图的风格进行修改,代码:

with sns.axes_style("darkgrid"):
    plt.subplot(211)
    sinplot()
plt.subplot(212)
sinplot(-1)

做两个子图,一个用darkgrid一个用whitegrid。效果如图:
seaborn基本操作——风格设置(以绘制正弦函数为例)

我们还可以再利用set_context()函数对整体格子大小、字体、线宽,进行设置。

sns.set_context('talk', font_scale=1, rc={'lines.linewidth':3.5})
plt.figure(figsize=(20, 6))
sinplot()

效果如图:
seaborn基本操作——风格设置(以绘制正弦函数为例)