Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解

目录

基本用法  

水平箱线图,显示均值

改变箱线图的形状(箱体的形状notch、异常值的形状sym)

改变箱线图的颜色(箱体边框的颜色、箱体填充色) 

相较散点图和折线图,柱状图、饼图、箱线图(箱型图)是另外 3 种数据分析常用的图形,主要用于分析数据内部的分布状态或分散状态。其中箱线图(箱型图)的主要作用是发现数据内部整体的分布分散情况,包括上下限、各分位数、异常值。

与之前的可视化博客内容不同的是,这里我们需要先介绍一下箱线图上各部位的含义:

Matplotlib 中绘制箱线图的函数为 boxplot () ,有两种语法,如下:  

常用语法:

matplotlib.pyplot.boxplot(xnotch=Nonesym=Nonevert=Nonewhis=Nonepositions=Nonewidths=Nonepatch_artist=Nonebootstrap=Noneusermedians=Noneconf_intervals=Nonemeanline=Noneshowmeans=Noneshowcaps=Noneshowbox=Noneshowfliers=Noneboxprops=Nonelabels=Noneflierprops=Nonemedianprops=Nonemeanprops=Nonecapprops=Nonewhiskerprops=Nonemanage_xticks=Trueautorange=Falsezorder=Nonehold=Nonedata=None)

常用参数及说明: 

参数说明参数说明
x指定要绘制箱线图的数据;showcaps是否显示箱线图顶端和末端的两条线
notch是否是凹口的形式展现箱线图showbox是否显示箱线图的箱体
sym指定异常点的形状showfliers是否显示异常值
vert是否需要将箱线图垂直摆放boxprops设置箱体的属性,如边框色,填充色等;
whis指定上下须与上下四分位的距离labels为箱线图添加标签
positions指定箱线图的位置filerprops设置异常值的属性
widths指定箱线图的宽度medianprops设置中位数的属性
patch_artist是否填充箱体的颜色;meanprops设置均值的属性
meanline是否用线的形式表示均值capprops设置箱线图顶端和末端线条的属性
showmeans是否显示均值whiskerprops设置须的属性


其他参数请参考文档:https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.boxplot

 

只接收DataFrame的 boxplot () 语法:

DataFrame.boxplot(column=Noneby=Noneax=None,showmeans=Falsefontsize=Nonerot=0grid=Truefigsize=Nonelayout=Nonereturn_type=None...)

参数接收值说明默认值
columnlist指定要进行箱型图分析的列;全部列
showmeansbool是否显示均值;FALSE
notchbool是否是凹口的形式展现箱线图;FALSE
patch_artistbool是否填充箱体的颜色,若为true,则默认蓝色;FALSE
gridbool箱型图网格线是否显示;TRUE
vert bool竖立箱型图(True)/水平箱型图(False);TRUE
symstring指定异常点的形状;o

 

基本用法  

import pandas as pd
import matplotlib.pyplot as plt

#读取数据
datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah']

plt.figure(figsize=(10,5))#设置画布的尺寸
plt.title('Examples of boxplot',fontsize=20)#标题,并设定字号大小
labels = 'Jay','JJ','Jolin','Hannah'#图例
plt.boxplot([box_1, box_2, box_3, box_4], labels = labels)#grid=False:代表不显示背景中的网格线
# data.boxplot()#画箱型图的另一种方法,参数较少,而且只接受dataframe,不常用
plt.show()#显示图像

水平箱线图,显示均值

import pandas as pd
import matplotlib.pyplot as plt

#读取数据
datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah']

plt.figure(figsize=(10,5))#设置画布的尺寸
plt.title('Examples of boxplot',fontsize=20)#标题,并设定字号大小
labels = 'Jay','JJ','Jolin','Hannah'#图例

#vert=False:水平箱线图;showmeans=True:显示均值
plt.boxplot([box_1, box_2, box_3, box_4], labels = labels, vert=False,showmeans=True )
plt.show()#显示图像

改变箱线图的形状(箱体的形状notch、异常值的形状sym)

import pandas as pd
import matplotlib.pyplot as plt

#读取数据
datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah']
plt.figure(figsize=(10,5))#设置画布的尺寸
plt.title('Examples of boxplot',fontsize=20)#标题,并设定字号大小

#notch:是否是凹口的形式展现箱线图;sym:异常点的形状;
plt.boxplot([box_1, box_2, box_3, box_4],notch = True,sym = '*')
plt.show()#显示图像

改变箱线图的颜色(箱体边框的颜色、箱体填充色) 

箱体色的设置需配合 patch_artist = True 使用

import pandas as pd
import matplotlib.pyplot as plt

#读取数据
datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx'
data = pd.read_excel(datafile)
box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah']

plt.figure(figsize=(10,5))#设置画布的尺寸
plt.title('Examples of boxplot',fontsize=20)#标题,并设定字号大小

#boxprops:color箱体边框色,facecolor箱体填充色;
plt.boxplot([box_1, box_2, box_3, box_4],patch_artist = True, boxprops = {'color':'orangered','facecolor':'pink'})

plt.show()#显示图像

 

箱型图的花哨用法并不常用,因此不多加赘述了。 

  • 92
    点赞
  • 625
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值