返回

python-如何在同一绘图上框绘两个词典

发布时间:2022-06-28 15:48:19 318
# node.js

对于变化点检测任务,我正在根据基线测试我自己的算法,并且我想将两种算法的结果绘制在同一个箱线图上。

我的结果(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仅用于将哪个算法绘制在标题中。

我的问题是:我如何在同一个情节上并排绘制它们?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(2)
按点赞数排序
用户头像