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()