Matplotlib实例教程箱形图

Posted K同学啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Matplotlib实例教程箱形图相关的知识,希望对你有一定的参考价值。

前言

你可能需要安装的包

  • statsmodels
  • seaborn

安装命令(在cmd中输入该命令即可)

  • pip install seaborn
  • pip install statsmodels

如果你不知道如何打开命令行,请看这里:如何打开CMD命令行

代码实现

import pandas  as pd
import numpy   as np
import seaborn as sns
sns.set_style("white")

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

import warnings
warnings.filterwarnings("ignore")#忽略警告信息
# 生成随机数
np.random.seed(1)
all_data = [np.random.normal(0, std, size=100) for std in range(1, 4)]
labels   = ['A', 'B', 'C']

# 1行 2列 ,长9英寸 宽4英寸
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))

# 箱形图
bplot1 = axes[0].boxplot(all_data,
                         vert=True,  #是否需要将箱线图垂直摆放,默认垂直摆放;
                         patch_artist=True,   # 是否填充箱体的颜色;
                         labels=labels)   # 为箱线图添加标签,类似于图例的作用;
axes[0].set_title('矩形箱图')

# notch shape box plot
bplot2 = axes[1].boxplot(all_data,
                         notch=True,  # 是否是凹口的形式展现箱线图
                         vert=True,   #是否需要将箱线图垂直摆放,默认垂直摆放;
                         patch_artist=True,  # 是否填充箱体的颜色;
                         labels=labels)   # 为箱线图添加标签,类似于图例的作用;
axes[1].set_title('缺口形箱图')

# 填充颜色
colors = ['pink', 'lightblue', 'lightgreen']
for bplot in (bplot1, bplot2):
    for patch, color in zip(bplot['boxes'], colors):
        patch.set_facecolor(color)

# 添加水平网格线
for ax in axes:
    ax.yaxis.grid(True)
    ax.set_xlabel('案例')
    ax.set_ylabel('数值')

plt.show()

plt.boxplot() 参数详解

plt.boxplot(x,    # 指定要绘制箱线图的数据;
            notch=None,    # 是否是凹口的形式展现箱线图,默认非凹口;
            sym=None,    # 指定异常点的形状,默认为+号显示;
            vert=None,    # 是否需要将箱线图垂直摆放,默认垂直摆放;
            whis=None,    # 指定上下须与上下四分位的距离,默认为1.5倍的四分位差;
            positions=None,    # 指定箱线图的位置,默认为[0,1,2…];
            widths=None,    # 指定箱线图的宽度,默认为0.5;
            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)    #
👇🏻 扫一扫下方二维码,获取7900+本电子书👇🏻

以上是关于Matplotlib实例教程箱形图的主要内容,如果未能解决你的问题,请参考以下文章

Python Matplotlib 在条形图中绘制样本均值,具有置信区间,但看起来像箱形图

pandas/matplotlib 中一列按另一列分组的箱形图

在SPSS中如何删除箱形图显示的极端值?

python3——matplotlib绘图2

你如何改变熊猫箱形图Y轴的传播?

使用 ggplot2 将平均值添加到 R 中的分组箱形图