作为以 Matplotlib 为核心的可视化工具, Seaborn 库中的模块自带许多定制的主题和高级的接口,用于控制 Matplotlib 图表的外观。
在开始介绍 Seaborn 库的几项基本操作之前,我们先来回顾一下 Matplotlib 绘制的传统图表样式:
- import matplotlib.pyplot as plt
- plt.style.use('classic')
- %matplotlib inline
- import numpy as np
- import pandas as pd
- # 构建一些示例数据
- rng = np.random.RandomState(0)
- x = np.linspace(0, 10, 500)
- y = np.cumsum(rng.randn(500, 6), 0)
- # 基于 Matplotlib 默认配置绘制图像
- plt.plot(x, y)
- plt.legend('ABCDEF', ncol=2, loc='upper left');
接下来,我们导入 Seaborn 库,看看用同样的方式绘制出来的图表会有什么样的变化:
- import seaborn as sns
- sns.set()
- # 使用与上述完全一致的绘图代码!
- plt.plot(x, y)
- plt.legend('ABCDEF', ncol=2, loc='upper left');
看起来,图表似乎瞬间就变得赏心悦目了。类似地, Seaborn 的样式调整还可以作用于 Matplotlib 中的其他图表,例如绘制一个带有 Seaborn 风格的直方图:
- data = np.random.multivariate_normal([0, 0], [[5, 2], [2, 2]], size=2000)
- data = pd.DataFrame(data, columns=['x', 'y'])
- for col in 'xy':
- plt.hist(data[col], normed=True, alpha=0.5)
此外, Seaborn 库也自带有许多可以直接用于图像绘制的函数,如我们可以通过调用 kdeplot 函数来绘制样本的分布曲线:
- for col in 'xy':
- sns.kdeplot(data[col], shade=True)
以上内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文