说到Python可视化库,你可能会很容易想到matplotlib,因为它是Python中最底层的绘图库,支持二维、三维、交互式等各种图表,而且通过元素化的模式能设计图表的任何细节,定制化程度非常高,很多可视化库都是基于matplotlib做二次开发的。
但matplotlib也有它的缺点,由于定制化程度高,所以API接口极其复杂,各种函数方法层出不穷,画一张好看的统计图表可能需要几十行代码,费很大劲去配置图表元素。
如果你想更轻松的绘制可视化图表,推荐一定要试试Seaborn,它是在matplotlib的基础上进行了更高级的API封装,它一般用于统计分析,是数据科学领域的核心可视化库,类似于kaggle这种数据比赛大部分都用Seaborn。
示例:
import seaborn as sns
sns.set_theme(style="darkgrid")
fmri = sns.load_dataset("fmri")
sns.lineplot(x="timepoint", y="signal",
hue="region", style="event",
data=fmri)
解释下高级封装,所谓封装就是把很多图表的功能模块化,拿来即用,不需要你写很多代码实现。
比如说Seaborn可以一行代码设置图表的配色风格,什么统计风、商务风、学术风,都给你搭配的妥妥的,还有像置信区间这种专业领域的图表也集成到函数中。
可以把Seaborn视为matplotlib的补充,而不是替代物,matplotlib注重底层设计,Seaborn注重简洁高效。
另外Seaborn与Pandas、Numpy集成的非常好,可以轻松使用Series、DataFrame、array数据类型进行图表开发,相较于Matplotlib节省了很多数据处理的时间,让你更加专注于制图。
安装最新版本的Seaborn非常简单,使用pip命令即可:
pip install seaborn
Seaborn的依赖库有:numpy、matplotlib、pandas、statsmodels、scipy
导入Seaborn库,一般使用:
import seaborn as sns
查看Seaborn版本:
sns.__version__
使用seaborn绘制图表:
import seaborn as sns
import matplotlib.pyplot as plt
df = sns.load_dataset("penguins")
sns.pairplot(df, hue="species")
plt.show()
风格管理:
Seaborn装载了一些默认主题风格,通过sns.set()方法实现。
sns.set()可以设置5种风格的图表背景:darkgrid, whitegrid, dark, white, ticks,通过参数style设置,默认情况下为darkgrid风格。
import seaborn as sns
sns.set_theme(style="darkgrid")
总的来说,Seaborn适合大多数情况下的可视化分析探索,能快速出图,而且颜值较高,展示效果好。