seaborn基本操作——风格设置(以绘制正弦函数为例)
在学习了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()
执行这段代码后,会出现如下结果:
这是matplotlib默认风格下的绘制结果。
因为我是在jupyter notebook下进行的操作,所以是一个分片一个分片进行的操作。之后我们引入seaborn包并对风格进行设置,看看结果。
import seaborn as sns
sns.set()
sinplot()
结果如下:
执行了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)
结果如图。可以看到背景是一种白色的,选择风格为white的绘制的正弦结果如下:
sns.set_style('white')
sinplot()
我们还可以利用with语句对子图的风格进行修改,代码:
with sns.axes_style("darkgrid"):
plt.subplot(211)
sinplot()
plt.subplot(212)
sinplot(-1)
做两个子图,一个用darkgrid一个用whitegrid。效果如图:
我们还可以再利用set_context()函数对整体格子大小、字体、线宽,进行设置。
sns.set_context('talk', font_scale=1, rc={'lines.linewidth':3.5})
plt.figure(figsize=(20, 6))
sinplot()
效果如图:
上一篇: echarts 饼状图 设置同色系
下一篇: 灰色系统模型和matlab