一、seaborn
1. seaborn是什么?
Seaborn基于 Matplotlib核心库进行了更高级的API封装,可以轻松地画出更漂亮的图形,而Seaborn的漂亮主要体现在配色更加舒服,以及图 形元素的样式更加细腻。
# 安装
pip install seaborn==0.10.1
# 导入
import seaborn as sns
2. 绘制单变量分布
-
API
seaborn.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, color=None)
-
参数说明
- 代码演示
import seaborn as sns np.random.seed(0) arr = np.random.randn(1000) # 单变量的分布情况 sns.distplot(arr, bins=10,hist=True, kde=True,rug=True)
-
图像
3. 绘制双变量分布
-
API
seaborn.jointplot(x, y, data=None,kind=’scatter’, stat_func=None, color=None,ratio=5, space=0.2, dropna=True)
-
参数说明
- 代码演示
import numpy as np import pandas as pd import seaborn as sns # 1. 绘制散点图 dataframe_obj = pd.DataFrame({"x": np.random.randn(500),"y": np.random.randn(500)}) sns.jointplot(x="x", y="y", data=dataframe_obj) # 2.绘制二维直方图 sns.jointplot(x="x", y="y", data=dataframe_obj, kind="hex") # 3.绘制核密度估计图形 sns.jointplot(x="x", y="y", data=dataframe_obj, kind="kde")
- 图示
4. 绘制成对双变量分布
- API
- Seaborn.pairplot()
-
图示
-
代码
# 加载seaborn中的数据集(此处需要下载数据集并放在用户目录下的seaborn-data目录中) dataset = sns.load_dataset("iris") dataset.head() # 绘制多个成对的双变量分布 sns.pairplot(dataset)
5. 用分类数据绘图
1. 类别散点图
- API
- 部分重叠:seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=False)
- 不重叠散点图:sns.swarmplot(x=””, y=””, data=xxx)
-
图示
-
代码
# stripplot # 获取tips数据 tips = sns.load_dataset("tips") sns.stripplot(x="day", y="total_bill", data=tips) # swarmplot sns.swarmplot(x="day", y="total_bill", data=tips)
2. 类别内的数据分布
- API
- 箱型图:seaborn.boxplot(x=None, y=None, hue=None, data=None, orient=None, color=None, saturation=0.75, width=0.8)
- 小提琴图:seaborn.violinplot(x=None, y=None, hue=None, data=None)
- 图示
3. 类别内的统计估计
- API
- 条形图:barplot()
- 查看集中趋势(均值估计,与matplatlib中的bar不同)
- 黑色竖线 表示区间估计,95%的置信区间
- 点图:pointplot()
- 条形图:barplot()
- 图示