gpt4 book ai didi

python - 如何在 matplotlib 中制作分组箱线图

转载 作者:太空狗 更新时间:2023-10-29 22:09:30 24 4
gpt4 key购买 nike

我有三种算法,A、B 和 C。我在不同的数据集上运行它们,并想在 Python 中将它们的运行时间绘制成分组箱线图。

作为我想要的视觉示例,我画了一幅糟糕的图,但希望它能说明问题。

boxplot graph drawing

如果我在 python 中的数据是这样的:

import numpy as np
import random

data = {}
data['dataset1'] = {}
data['dataset2'] = {}
data['dataset3'] = {}

n = 5
for k,v in data.iteritems():
upper = random.randint(0, 1000)
v['A'] = np.random.uniform(0, upper, size=n)
v['B'] = np.random.uniform(0, upper, size=n)
v['C'] = np.random.uniform(0, upper, size=n)

如何让我的情节看起来像我画的图?

最佳答案

使用独立的子图最容易做到这一点:

import matplotlib.pyplot as plt
import numpy as np
import random

data = {}
data['dataset1'] = {}
data['dataset2'] = {}
data['dataset3'] = {}

n = 500
for k,v in data.iteritems():
upper = random.randint(0, 1000)
v['A'] = np.random.uniform(0, upper, size=n)
v['B'] = np.random.uniform(0, upper, size=n)
v['C'] = np.random.uniform(0, upper, size=n)

fig, axes = plt.subplots(ncols=3, sharey=True)
fig.subplots_adjust(wspace=0)

for ax, name in zip(axes, ['dataset1', 'dataset2', 'dataset3']):
ax.boxplot([data[name][item] for item in ['A', 'B', 'C']])
ax.set(xticklabels=['A', 'B', 'C'], xlabel=name)
ax.margins(0.05) # Optional

plt.show()

enter image description here

关于python - 如何在 matplotlib 中制作分组箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20365122/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com