Python Matplotlib绘制箱型图(箱线图)boxplot的方法详解

 更新时间:2023年05月25日 09:15:41   作者:黄饱饱_bao  
箱线图(箱型图)主要作用是发现数据内部整体的分布分散情况,包括上下限、各分位数、异常值等,本文为大家整理了Matplotlib绘制箱型图的所以方法,希望对大家有所帮助

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

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

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

常用语法:

matplotlib.pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, usermedians=None, conf_intervals=None, meanline=None, showmeans=None, showcaps=None, showbox=None, showfliers=None, boxprops=None, labels=None, flierprops=None, medianprops=None, meanprops=None, capprops=None, whiskerprops=None, manage_xticks=True, autorange=False, zorder=None, hold=None, data=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=None, by=None, ax=None,showmeans=False, fontsize=None, rot=0, grid=True, figsize=None, layout=None, return_type=None, ...)

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

基本用法

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()#显示图像

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

以上就是Python Matplotlib绘制箱型图(箱线图)boxplot的方法详解的详细内容,更多关于Python Matplotlib箱型图的资料请关注脚本之家其它相关文章!

相关文章

  • python支持多线程的爬虫实例

    python支持多线程的爬虫实例

    今天小编就为大家分享一篇python支持多线程的爬虫实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • Python Pandas中rolling方法的使用指南

    Python Pandas中rolling方法的使用指南

    在数据分析和时间序列数据处理中,经常需要执行滚动计算或滑动窗口操作,Pandas库提供了rolling方法,用于执行这些操作,下面我们就来学习一下rolling方法的具体使用吧
    2023-11-11
  • 安装Python的教程-Windows

    安装Python的教程-Windows

    下面小编就为大家带来一篇安装Python的教程-Windows。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析

    Python Request爬取seo.chinaz.com百度权重网站的查询结果过程解析

    这篇文章主要介绍了Request爬取网站(seo.chinaz.com)百度权重的查询结果过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Pandas中describe()函数的具体使用

    Pandas中describe()函数的具体使用

    本文主要介绍了Pandas中describe()函数的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 如何用Python做一个微信机器人自动拉群

    如何用Python做一个微信机器人自动拉群

    这篇文章主要介绍了如何用Python做一个微信机器人自动拉群,微当群人数达到100人后,用户无法再通过扫描群二维码加入,只能让用户先添加群内联系人微信,再由联系人把用户拉进来。这样,联系人员的私人微信会添加大量陌生人,给其带来不必要的打扰,需要的朋友可以参考下
    2019-07-07
  • django 微信网页授权登陆的实现

    django 微信网页授权登陆的实现

    这篇文章主要介绍了django 微信网页授权登陆的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • python 函数定位参数+关键字参数+inspect模块

    python 函数定位参数+关键字参数+inspect模块

    这篇文章主要介绍了python 函数定位参数+关键字参数+inspect模块,文章围绕主题展开详细的相关资料,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-05-05
  • Python找出list中最常出现元素的方法

    Python找出list中最常出现元素的方法

    这篇文章主要介绍了Python找出list中最常出现元素的方法,给出了三种常用的方法供大家对比参考,需要的朋友可以参考下
    2016-06-06
  • python内置模块之上下文管理contextlib

    python内置模块之上下文管理contextlib

    这篇文章介绍了python内置模块之上下文管理contextlib,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06

最新评论