seaborn封装了 mayplotlib 可以更方便的进行绘图
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
def sinplot(flip=1):
x=np.linspace(0,14,100)#在0-14上面找100个点
for i in range(1,7):
plt.plot(x,np.sin(x+i*.5)*(7-i)*flip)
plt.show()
sinplot()
sns.set()#用seaborn 默认的风格
sinplot()
seaborn中的五种主题风格
darkgrid whitegrid
dark white 相对于上一行中grid去掉了横线
ticks带上了数值对应的锯齿
sns.despine() 可以去掉上右的横线
sns.despine(offset=20)设置数据值与图的距离
sns.despine(left=True)隐藏左面的轴
使用with控制子图的两种不同风格
data = np.random.normal(size=(20, 6))
sns.set_style('whitegrid')
sns.boxplot(data=data)
<matplotlib.axes._subplots.AxesSubplot at 0x1fbc03d6780>
sns.set_style('dark')
sinplot()
sns.set_style('white')
sinplot()
sns.set_style('ticks')
sinplot()
Remove axes spines
有时候我们会去掉box的上轴和右轴:
sinplot()
sns.despine()
当然你也可以:
sns.set_style('white')
sinplot()
sns.despine(left=True, bottom=True)
sns.despine()函数默认删除右轴和上轴。
f, ax = plt.subplots()
sns.violinplot(data=data)
<matplotlib.axes._subplots.AxesSubplot at 0x1fbc05bdc18>
f, ax = plt.subplots()
sns.violinplot(data=data)
sns.despine(trim=True)
Temporarily setting figure style
我们可以临时定义作图参数让子图拥有不同的样式:
with sns.axes_style('darkgrid'):
plt.subplot(211)
sinplot()
plt.subplot(212)
sinplot(-1)
这样,我们就临时调用了'darkgrid'样式。
Seaborn预设了四种比例,根据大小依次为 paper
, notebook
, talk
和 poster
。默认为 notebook
。
sns.set_context('talk')
sinplot()
sns.set_context("poster")
sinplot()
sns.set_context(font_scale=3.5)可以设置数轴的数字大小