Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物。
1、seaborn 安装
pip install seaborn
2、导入数据
tips = sns.load_dataset("tips")
iris = sns.load_dataset("iris")
3、绘制分布图
sns.distplot(a,#series,一维数组
bins=None,#直方图组数
hist=True,#直方图
kde=True,#核密度
label=None#图标签
)
4、散点图
4.1
# 返回的结果是散点图,以及两个变量的直方图
sns.jointplot(x = "sepal_length",#x坐标数据
y = "sepal_width", #y轴坐标数据
data=iris,#数据来源
kind=‘scatter’,#图样为散点图,kind={‘scatter’,‘reg’,‘resid’,‘kde’,‘hex’}
dropna=True,
xlim=None,ylim=None)
4.2 绘制不同列之间的散点图,对角线即为直方图
sns.pairplot(data,
hue=None,#种类
kind=‘scatter’,
diag_kind='hist')
4.3 绘制分布散点图
4.3.1
sns.stripplot(x,y,
hue=None,
data=None,
jitter=False#jitter=True表示点不重合)
4.3.2 point不重合
sns.swarmplot(x,y,data,hue)
5、绘制柱状图
sns.barplot(x,y,hue,data)
6、线性回归拟合
sns.lmplot(x,y,data,
order=1,#n阶拟合,默认为1
robust=False,#鲁棒性回归,剔除异常值
ci=95,#置信区间
fit_reg=True#曲线拟合)
7、构建结构化多绘图网格
FacetGrid
使用数据集和用于构造网格的变量初始化对象。然后,可以通过调用FacetGrid.map()
或将一个或多个绘图函数应用于每个子集 FacetGrid.map_dataframe()
。最后,可以使用其他方法调整绘图,以执行更改轴标签,使用不同刻度或添加图例等操作
g = sns.FacetGrid(data,row,col,hue=None)
g.map(plt.hist,'data')
g.map(plt.scatter,'x_label','y_label')