MatPlotLib 添加多个颜色条

0 投票
1 回答
1365 浏览
提问于 2025-04-17 23:51

在matplotlib中从图形中移除颜色条

我不太明白怎么实际使用这个答案。

在我的程序里,我需要生成5个图。它们基本上都是同样的格式。这里是我的函数:

def plot_that(x_vals, y_vals, z_vals, figname, units, efficiency_or_not):
    ui = uniformity_calc(z_vals)
    if efficiency_or_not:
        plt.scatter(x_vals, y_vals, s = 3*max(x_vals), c = z_vals, cmap = 'rainbow', vmin = 0, vmax = 1)
    else:
        plt.scatter(x_vals, y_vals, s = 3*max(x_vals), c = z_vals, cmap = 'rainbow')
    c = plt.colorbar()
    c.set_label(units)

    plt.xlabel('Uniformity: ' + str(round(ui,2)))
    plt.savefig('./'+ figname + '.jpg', dpi = 100)

我很高兴它能工作,最终我可以把所有5个图放进我的pdf里……

不过我不太高兴的是,每个图都有一个多余的颜色条。第一个图有自己的颜色条……第二个图有自己的,还有上一个图的颜色条……第三个图有自己的,还有前两个图的颜色条……

我看过这个解决方案,但我真的没找到一个好的方法来实现它。我明白我需要清除之前的颜色条,如果有的话……我就是完全不明白该怎么做。

1 个回答

0

我加了一行代码,问题就解决了:
plt.close()

撰写回答