Seaborn 是一个基于 matplotlib 且数据结构与 pandas 统一的统计图制作库。
这里列出了一些 seaborn 的功能:
- 计算多变量间关系的面向数据集接口
- 可视化类别变量的观测与统计
- 可视化单变量或多变量分布并与其子数据集比较
- 控制线性回归的不同因变量并进行参数估计与作图
- 对复杂数据进行易行的整体结构可视化
- 对多表统计图的制作高度抽象并简化可视化过程
- 提供多个内建主题渲染 matplotlib 的图像样式
- 提供调色板工具生动再现数据
安装
pip install seaborn
或者
conda install seaborn
使用前需要导包
import seaborn as sns
简单使用
%matplotlib inline
import numpy as np
np.random.seed(1)
data = np.random.rand(10,3)
sns.lineplot(data=data)
使用统计sns.countplot
data = pd.read_csv("ChnSentiCorp_htl_all.csv")
sns.countplot(x="label", data=data)
整体布局风格使用
sns.set_style("whitegrid")
sns.lineplot(data=data)
sns.set_style("darkgrid")
sns.lineplot(data=data)
sns.set_style("dark")
sns.lineplot(data=data)
sns.set_style("whitegrid")
sns.lineplot(data=data)
sns.set_style("white")
sns.lineplot(data=data)
sns.set_style("ticks")
sns.lineplot(data=data)
风格细节设置
despine()
函数移除坐标轴,默认移除了上部和右侧的轴,当然我们也可以移除其他轴。对于是否移除某个轴,我们可以设置函数的top、right、left、bottom参数的值来控制,值为True时,会移除该轴,反之,保留该轴。offset控制轴的距离
sns.lineplot(data=data)
sns.despine()
sns.lineplot(data=data)
sns.despine(top=True,left=True,right=True)
sns.lineplot(data=data)
sns.despine(top=True,right=True,offset=100)
调色板
默认颜色为一下:
passalette = sns.color_palette()
passalette
可以使用hls颜色空间:
passalette = sns.color_palette("hls",3)
passalette
sns.lineplot(data=data,palette=sns.color_palette("hls",3))
### 自定义颜色
colors = ["windows blue", "amber", "greyish", "faded green", "dusty purple"]
sns.palplot(sns.xkcd_palette(colors))
flatui = ["#9b59b6", "#3498db", "#95a5a6", "#e74c3c", "#34495e", "#2ecc71"]
sns.palplot(sns.color_palette(flatui))
顺序调色板”(sequential),当数据集的范围从相对低值(不感兴趣)到相对高值(很感兴趣)时,最好使用顺序调色板,尽管在某些情况下您可能需要顺序调色板中的离散颜色。
sns.palplot(sns.color_palette("Blues"))
#通过添加加后缀_r来倒置顺序调色板的顺序。
sns.palplot(sns.color_palette("GnBu_d"))
cubehelix调色板系统使顺序调色板的亮度产生线性变化,色调也会产生一些变化。这意味着您的 Colormap 在转换为黑白模式时(用于打印)的信息将得到保留,且对色盲友好。
sns.palplot(sns.color_palette("cubehelix", 8))
由 seborn cubehelix_palette() 函数返回的默认调色板与 matplotlib 的默认值稍有不同,因为它不会围绕色轮旋转很远,也不会覆盖很宽的强度范围。它还反转顺序,以便让更重要的值的颜色更暗:
sns.palplot(sns.cubehelix_palette(8))
cubehelix_palette() 函数的其他参数控制调色板的外观。您将更改的两个主要参数为 start (介于 0 到 3 之间的值)和 rot —— 旋转次数(任意值,但可能在-1 和 1 之间)。
sns.palplot(sns.cubehelix_palette(8, start=.5, rot=-.75))
sns.palplot(sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True))
使用light_palette
,light_palette
sns.palplot(sns.light_palette("red"))
sns.palplot(sns.light_palette("red"))