Python的seaborn库

1.概念
seaborn就是在matplotlib基础上面的封装,方便直接传参数调用
2.整体布局import seaborn as sns

sns.set_style("whitegrid") #横坐标有标线,纵坐标没有标线,背景白色
sns.set_style("darkgrid") #默认,横纵坐标都有标线,组成一个一个格子,背景稍微深色
sns.set_style("dark")#背景稍微深色,没有标线线
sns.set_style("white")#背景白色,没有标线线
sns.set_style("ticks") #xy轴都有非常短的小刻度
sns.despine(offset=30,left=True) #去掉上边和右边的轴线,offset=30表示距离轴线(x轴)的距离,left=True表示左边的轴保留

3.子图的整体布局

定义一个数据

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

def sinplot(flip=1): #自定义一个函数
	x = np.linspace(0,14,100) #0-14取100个点

	for i in range(1,7): #画了7条线
		plt.plot(x,np.sin(x + i *0.5) * (7 - i) * flip) #sin函数
	plt.show()

sinplot()

在这里插入图片描述
在不同的图画不同的风格

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

def sinplot(flip=1): #自定义一个函数
	x = np.linspace(0,14,100) #0-14取100个点

	for i in range(1,7):
		plt.plot(x,np.sin(x + i *0.5) * (7 - i) * flip)
	#plt.show()

#sinplot()


with sns.axes_style("darkgrid"): #with里面的用一种背景风格
	plt.subplot(211)
	sinplot()
plt.subplot(212)
sinplot(-1)
plt.show()

在这里插入图片描述

4.调色板
默认颜色主题

current_palette = sns.color_palette()
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
当需求颜色主题比默认的要多的时候,可以用圆形画板

current_palette = sns.color_palette("hls",12)  #就是这里穿参数,一般使用“hls”,l是亮度,s是饱和度,12表示12种颜色
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
自定义了颜色之后怎么使用呢?

current_palette = sns.color_palette("hls",12)

data = np.random.normal(size=(20,12)) + np.arange(12) / 2 #随机生成的数据
sns.boxplot(data=data,palette=current_palette) #使用颜色就是传递参数给palette
plt.show()

在这里插入图片描述
在这里插入图片描述

还可以生成颜色对,比如说一共4对数据,我们希望每对数据的颜色相近

current_palette = sns.color_palette("Paired",12) 
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
连续画板

current_palette = sns.color_palette("Blues") #直接传颜色,有浅到深
#current_palette = sns.color_palette("Blues_r")  #有深到浅
sns.palplot(current_palette)

plt.show()

在这里插入图片描述
颜色线性变化:cubehelix_palette()调色板

current_palette = sns.color_palette("cubehelix",8)
sns.palplot(current_palette)
plt.show()

在这里插入图片描述
light_palette()和dark_palette()调用定制连续调色板

sns.palplot(sns.light_palette("green"))
plt.show()

在这里插入图片描述
5.单变量的分析绘图(当我们拿到数据的时候需要先分析数据)

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats,integrate
import pandas as pd

x = np.random.normal(size=100) #随机生成100个数据
sns.distplot(x,bins=20,kde=False,fit=stats.gamma) #kde是需不需要计算核密度,bins是多少个小柱形,fit=stats.gamma看图形变化的趋势,如图黑色的曲线
plt.show()

在这里插入图片描述
6.散点图:画特征和特征之间的关系可以用散点图

sns.jointplot(x="x",y="y",data=dt)
sns.jointplot(x="x",y="y",kind="hex",data=dt) #hex就是可以画出当数据量很大时,我们可以通过颜色的差异来看看哪一块数据量比较多

7.如果特征比较多可以用sns.pairplot(data)来画特征和特征之间的关系

iris = sns.load_dataset("iris") #导入鸢尾花数据集
sns.pairplot(iris)
plt.show() #直方图是单变量的分析,散点图是特征之间的关系

在这里插入图片描述
8.用seaborn进行回归模型的画图sns.regplot() 或者sns.lmplot

tips = sns.load_dataset("tips") #导入tips数据集
sns.regplot(x="total_bill",y="tip",data=tips) #画回归图
plt.show()

在这里插入图片描述
9.画某个特征中不同属性的值sns.stripplot()

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats,integrate
import pandas as pd

iris = sns.load_dataset("iris")#导入鸢尾花数据集
tips = sns.load_dataset("tips") #导入tips数据集
titanic = sns.load_dataset("titanic") #导入泰坦的数据集
sns.stripplot(x="day",y="total_bill",data=tips,jitter=True)#jitter是数据点可以稍微偏离一些,这样数据量大的时候可以避免画的点全部集中在一起看不清
plt.show()

在这里插入图片描述
10.画某个特征中不同属性的数据单独画出来sns.FacetGrid()

import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy import stats,integrate
import pandas as pd

tips = sns.load_dataset("tips") #导入tips数据集
g = sns.FacetGrid(tips,col="sex",hue="smoker") #将sex这列的数据按照不同的属性分开画,同时加入条件是不是抽烟的
g.map(plt.scatter,"total_bill","tip")
g.add_legend() #显示图例
plt.show()

在这里插入图片描述
☆持续更新

  • 47
    点赞
  • 335
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值