机器学习之使用seaborn绘制各类图形

发布时间 2023-11-07 18:09:53作者: cojames

使用seaborn绘制单双变量,类别散点图,箱型图,小提琴图去更直观的观察数据的分布情况

在单变量图中使用displot,参数如下

 双变量关系图使用joinplot,参数如下图

 类别散点图使用stripplot(),参数如下

 小提琴图和箱型图类似,一个使用violinplot(),另一个使用boxplot(),参数基本一样,x,y,data

代码示例:

# 1.单变量图像绘制


import numpy as np
import seaborn as sbn


np.random.seed(0)
arr=np.random.randn(100)
#bin表示柱形的个数,kde表示是否绘制高斯核分布曲线,rug表示底部的密集程度
sbn.displot(arr,bins=10,kde=True,rug=True)

# 2.双变量图形绘制

import numpy as np
import seaborn as sbn
import pandas as pd 

df=pd.DataFrame({"x":np.random.randn(500),"y":np.random.randn(500)})
# df.head()
sbn.jointplot(x="x",y="y",data=df,kind="hex",color="red", height=5)

# 3.类别散点图绘制

import numpy as np
import seaborn as sbn
import pandas as pd 
#散点图
tips=sbn.load_dataset("tips")
tips

sbn.stripplot(x="day",y="total_bill",data=tips,hue="time",jitter=True)

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

# 4.类别内的数据分布


## 4.1.箱型图

import numpy as np
import seaborn as sbn
import pandas as pd 
#箱线图
tips=sbn.load_dataset("tips")
tips
sbn.boxenplot(x="day",y="total_bill",data=tips,hue="time")

sbn.boxenplot(x="day",y="total_bill",data=tips)


sbn.boxenplot(x="day",y="total_bill",data=tips,hue="time",palette=['g','b','y','r'])

#小提琴图
sbn.violinplot(x="day",y="total_bill",data=tips)