前面我们学习了Pandas如何处理数据以及用Matplotlib对数据进行可视化,在今天的课程中我们再来感受一个更具魅力的绘图工具,它叫做Seaborn。
一、Seaborn简介
Seaborn 是基于 Python 且非常受欢迎的图形可视化库,并且在 Matplotlib 的基础上,进行了更高级的封装,使得作图更加方便快捷。可以通过极简的代码,做出具有分析价值而又十分美观的图形。
我们先来看一下Seaborn绘制的图形。
首先,我们来了解一下seanborn.set()函数:
import seaborn as sns
sns.set(context='notebook',style='darkgrid',palette='deep',font='sans-serif'.font_scale=1,color_code=True)
- context:该参数控制着默认的画幅大小,分别有{papper,notebook,talk,poster}四个值。其中,poster>talk>notebook>paper。
- style:该参数控制默认样式,分别有{darkgrid,whitegrid,dark,white,ticks},可以自行更改查看他们之间的不同。
- palette:该参数为预设的调色板,分别有{deep,muted,bright,pastel,dark,colorblind}等,可以自行更改查看他们之间的不同。
- font:设置字体。
- font_scale:设置字体大小。
- color_code:不是用调色板而采用先前的“r”等色彩缩写。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def sinplot():
x = np.linspace(0,15,num=100)
for i in range(1,3):
plt.plot(x,np.sin(x+i))
sinplot()
接下来,我们调用sns.set()函数来改变style,看看效果如何:
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def sinplot():
x = np.linspace(0,15,num=100)
for i in range(1,3):
plt.plot(x,np.sin(x+i))
sns.set()
sinplot()
plt.show()
根据结果,我们添加了sns.set()方法后,图形添加了网格,而且隐藏了坐标轴。
二、Seaborn风格设置
那么,问题来了,有人会说,这个set()函数这么多参数,只要改变其中任意一个参数的值,绘图效果就会发生变化,那我们怎么知道哪种搭配是最佳效果呢,难道我们要一个个去测试吗?
当然不是,seaborn提供了5种默认的风格,我们在实际绘图中只要选择一种喜欢的风格就可以了,下面我们就看看这5种风格的用法及效果。
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def sinplot():
x = np.linspace(0,15,num=100)
for i in range(1,3):
plt.plot(x,np.sin(x+i))
sns.set(style='white')
sinplot()
plt.show()
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
def sinplot():
x = np.linspace(0,15,num=100)
for i in range(1,3):
plt.plot(x,np.sin(x+i))
sns.set(style='whitegrid')
sinplot()
plt.show()