欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib入门-盒图

程序员文章站 2022-03-22 16:00:57
...

盒图主要是看一个数据的分布情况,也适用于EDA异常值的查找
matplotlib入门-盒图

Q1是四分之一分为数
Q3是四分之三分为数
median中位数
IQR=Q3Q1Q3-Q1

基本图形

fig = plt.figure(figsize=(8,6))
plt.boxplot(data,notch=False,sym='s',vert=True)

plt.xticks([y+1 for y in range(len(data))],['x1','x2','x3'])
plt.xlabel('x')
plt.title('box plot')

matplotlib入门-盒图

线条颜色

我们可以设置线条的显示颜色

fig = plt.figure(figsize=(8,6))
bplot=plt.boxplot(data,notch=False,sym='s',vert=True)

plt.xticks([y+1 for y in range(len(data))],['x1','x2','x3'])
plt.xlabel('x')
plt.title('box plot')

for components in bplot.keys():
    for line in bplot[components]:
        line.set_color('blue')

matplotlib入门-盒图

横图

fig = plt.figure(figsize = (8,6))
plt.boxplot(data,notch=False,sym='s',vert=False)

plt.yticks([y+1 for y in range(len(data))],['x1','x2','x3'])
plt.ylabel('x')
plt.title('box plot')

matplotlib入门-盒图

分别配色

fig = plt.figure(figsize = (8,6))
bplot = plt.boxplot(data,notch=False,sym='s',vert=True,patch_artist=True)

plt.xticks([y+1 for y in range(len(data))],['x1','x2','x3'])
plt.xlabel('x')
plt.title('box plot')

colors = ['pink','lightblue','lightgreen']
for pathch,color in zip(bplot['boxes'],colors):
    pathch.set_facecolor(color)

matplotlib入门-盒图

小提琴图

fig,axes = plt.subplots(nrows=1,ncols=2,figsize=(12,5))
axes[0].violinplot(data,showmeans=False,showmedians=True)
axes[0].set_title('violin plot')

axes[1].boxplot(data)
axes[1].set_title('box plot')

matplotlib入门-盒图