python-如何在同一绘图上框绘两个词典
对于变化点检测任务,我正在根据基线测试我自己的算法,并且我想将两种算法的结果绘制在同一个箱线图上。
我的结果(F 分数值)存储在字典中,其中键是两个参数a并且b(都具有 4 个不同的值):
resultsOwnAlgorithm = {'a1, b1': [0.8, 0.7, 0.6, ...], 'a1, b2': [...], ..., 'a2, b1': [...], ...}
resultsBaseline = {'a1, b1': [0.7, 0.6, ...], 'a1, b2': [...], ..., 'a2, b1': [...], ...}
现在,我有一个单独绘制它们的功能。我创建了 4 个a已设置且b正在更改的子图,请参见图像(值是随机的,只是为了创建示例图像)。该函数如下所示:
def plotResults(results, keys, test):
fig, axs = plt.subplots(2,2,figsize=(10,10))
for ax in axs.flat:
ax.set_ylim(0,1)
ax.set_xticks(range(len(abrs)))
ax.set_xticklabels(abrs)
count = 0
for i in (0,1):
for j in (0,1):
axs[i,j].set_title(str(test) + ', mean shift: ' + str(keys[count][0][0:2]).strip('x,') + ', iters=' + str(iterations), fontweight ="bold")
l = keys[count]
k = {k:results[k] for k in l if k in results}
label, data = k.keys(), k.values()
axs[i,j].boxplot(data,showfliers=False,patch_artist=True)
axs[i,j].set_xticks(range(1, len(label) + 1))
axs[i,j].set_xticklabels(label)
count+=1
其中resultsisresultsOwnAlgorithm或resultsBaseline,keys是字典键,因此a和b, 和的不同组合test仅用于将哪个算法绘制在标题中。
我的问题是:我如何在同一个情节上并排绘制它们?