如何使用Matplotlib绘制具有两个汇总统计量的箱线图?

n9vozmp4  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(151)

我对我的数据进行了汇总统计:
总结1:最小值= 0,第一季度= 5,中位数= 200,平均值= 455,第三季度= 674,最大值= 980
总结2:最小值= 1,第1季度= 7.5,中位数= 254,平均值= 586,第3季度= 851,最大值= 1021
我想使用matplotlib通过并排绘制汇总1和汇总2来绘制这些统计数据的箱线图。
我可以分别为每个摘要绘制图表(箱形图)(两个图表),但不能在单个图表中完成。
我使用下面的代码单独的箱线图:

import matplotlib.pyplot as plt

stats = [{
    "label": 'Summary 1',  # not required
    "mean":  455,  # not required
    "med": 200,
    "q1": 5,
    "q3": 674,
    "whislo": 0,  # required (min)
    "whishi": 980,  # required (max)
    "fliers": []  # required if showfliers=True
    }]

fs = 10  # fontsize

fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(6, 6), sharey=True)
axes.bxp(stats)
axes.set_title('Boxplot for Summary 1', fontsize=fs)
plt.show()

谁能告诉我怎么做?

cig3rfwq

cig3rfwq1#

查看the source code of the example on the matplotlib docsstats的值,您需要将它们放入同一个列表中。

import matplotlib.pyplot as plt

stats = [{
    "label": 'Summary 1',  # not required
    "mean":  455,  # not required
    "med": 200,
    "q1": 5,
    "q3": 674,
    "whislo": 0,  # required (min)
    "whishi": 980,  # required (max)
    "fliers": []  # required if showfliers=True
    },
         {
    "label": 'Summary 2',  # not required
    "mean":586,  # not required
    "med": 254,
    "q1": 7.5,
    "q3": 851,
    "whislo": 1,  # required (min)
    "whishi": 1021,  # required (max)
    "fliers": []  # required if showfliers=True
    }]

fs = 10  # fontsize

fig, axes = plt.subplots(nrows=1, ncols=1, figsize=(6, 6), sharey=True)
axes.bxp(stats)
axes.bxp(stats)
axes.set_title('Boxplot for Summary 1', fontsize=fs)
plt.show()

相关问题