Seaborn总结(高级绘图)
一 模块导入
import seaborn as sns
二 绘制单变量曲线
包括直方图,高斯核密度曲线和rugplot数据分布情况
seaborn.distplot(a, bins=None, hist=True, kde=True, rug=False, fit=None, color=None)
(1) a:数据,一般是 Series
(2) bins:直方图的条数。
(3) hist:是否绘制直方图。
(4) kde:是否绘制高斯核密度估计曲线。
(5) rug:是否在支持的轴方向上绘制rugplot,表示数据的分布密集情况
figure = sns.distplot(data, bins=8, hist=True, kde=True, rug=True)
三 绘制双变量曲线
sns.jointplot(x, y, data=None, kind=‘scatter’, stat_func=None, color=None, ratio=5, space=0.2, dropna=True)
(1) kind:绘制图形的类型
scatter:散点图
hex:二维直方图
kde:核密度估计图
(2) stat_func:两组数据的相关关系,一般为皮尔逊系数
(3) color:绘图元素的颜色
(4) size:图的大小(正方形)
(5) ratio:中心图与侧边图的比例。该参数的值越大,则中心图的占比会越大
(6) space:中心图与侧边图的间隔大小
sns.pairplot(data)
绘制成对的双变量分布
四 绘制分类数据
4.1 类别散点图
seaborn.stripplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, jitter=False)
(1) hue:目标值或标签值
(2) jitter:表示抖动的程度。True表示数据不重叠,False数据重叠,默认False
sns.swarmplot(x, y, data)
所有数据点都不会重叠
4.2 类别数据分布
(1)箱型图
seaborn.boxplot(x=None, y=None, hue=None, data=None, orient=None, color=None, saturation=0.75, width=0.8)
(1) palette:颜色,palette=[“r”,“g”]
(2) saturation:颜色饱和度,使用小数表示
(2)小提琴图
seaborn.violinplot(x=None, y=None, hue=None, data=None)
4.2 类别内统计估计
sns.barplot(x, y, data=)
绘制条形图,误差条表示置信区间
sns.pointplot(x, y, data)
绘制点图
补充:
- 请简述直方图与条形图的区别。
(1)条形图是用条形的长度表示各类别频数的多少,其宽度(表示类别)则是固定的。直方图是用面积表示各组频数的多少,矩形的高度表示每一组的频数或频率,宽度则表示各组的组距,因此其高度与宽度均有意义。
(2)由于分组数据具有连续性,所以直方图的各矩形通常是连续排列的,而条形图则是分开排列的。
(3)条形图主要用于展示分类数据,而直方图则主要用于展示数据型数据。 - 导入seaborn的数据集报错URLError
解决方法:
https://blog.csdn.net/ZBR07/article/details/106557855/ - 用searbon查看每个类别的数量分布
sns.countplot(data.target)
plt.show()