您当前的位置: 首页 >  Python

01、python数据分析与机器学习实战——Python可视化库Seaborn

发布时间:2019-02-10 22:31:19 ,浏览量:0

seaborn简介

Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图。

seaborn基础
import seaborn as sns import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt
1.seaborn的整体布局风格设置

seaborn有五种风格 whitegrid风格:

sns.set_style("whitegrid") data=np.random.normal(size=(20,6))+np.arange(6)/2 sns.boxplot(data=data) plt.show() 

在这里插入图片描述 dark风格:

sns.set_style("dark") data=np.random.normal(size=(20,6))+np.arange(6)/2 sns.boxplot(data=data) plt.show() 

在这里插入图片描述 white风格:

sns.set_style("white") data=np.random.normal(size=(20,6))+np.arange(6)/2 sns.boxplot(data=data) plt.show() 

在这里插入图片描述 ticks风格:

sns.set_style("ticks") data=np.random.normal(size=(20,6))+np.arange(6)/2 sns.boxplot(data=data) plt.show() 

在这里插入图片描述

2.调色板

(1)、颜色很重要 (2)、color_palette()能传入Matplotlib所支持的颜色 (3)、color_palette()不写参数则默认颜色 (4)、set_palette()设置所有图的颜色 分类色板: 六个默认的颜色循环主题

sns.set(rc={"figure.figsize":(6,6)}) current_paette=sns.color_palette() sns.palplot(current_paette) plt.show() 

在这里插入图片描述 圆形画板: 当有六个以上的分类要区分时,最简单的方法就是在一个圆形的颜色空间中画出均匀间隔的颜色(这样的色调会保持广度和饱和度不变)。 这是大多数的当需要使用比当前默认颜色循环中设置的颜色更多时的默认方案。 最常用的方法是使用hls的颜色空间,这是RGB值的一个简单转换。

sns.palplot(sns.color_palette("hls",8)) 

在这里插入图片描述 hls_palette()函数来控制颜色的亮度和饱和 l —— 亮度 lightness s —— 饱和 saturation

sns.palplot(sns.hls_palette(8,l=.7,s=.9)) 

在这里插入图片描述 也可以成对设置颜色:

sns.palplot(sns.color_palette("Paired",8)) 

在这里插入图片描述 连续色板: 色彩随数据变换,比如数据越来越重要则颜色越来越深:

sns.palplot(sns.color_palette("Blues")) 

在这里插入图片描述 也可以翻转过来:

sns.palplot(sns.color_palette("Blues_r")) 

在这里插入图片描述 cubehelis_palette()调色板 色调线性变换

sns.palplot(sns.color_palette("cubehelix",8)) 

在这里插入图片描述

单变量分析绘图

演示:特征的可视化

iris=sns.load_dataset("iris") sns.pairplot(iris) 

在这里插入图片描述 在对角线上是单变量的直方图,其他位置是两个变量的散点图。

多变量分析绘图

引入数据集:

np.random.seed(sum(map(ord,"categorical"))) titanic=sns.load_dataset("titanic") tips=sns.load_dataset("tips") iris=sns.load_dataset("iris") sns.stripplot(x="day",y="total_bill",data=tips) plt.show() 

在这里插入图片描述 重叠是很常见的现象,但是重叠影响了观察数据的量。 浮动一下:

sns.stripplot(x="day",y="total_bill",data=tips,jitter=True) 

在这里插入图片描述 如果想要让数据完全均匀分开:

sns.swarmplot(x="day",y="total_bill",data=tips)

在这里插入图片描述 补充: 盒图 IQR即统计学概念四分位距,第一/四分位与第三/四分位之间的距离 N=1.5IQR 如果一个值>Q3+N或

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    109966博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0474s