每个循环多一个颜色条
One more colorbar at each loop
我有一个小问题,暂时没有找到解决办法。我有一个脚本,可以循环生成很多数字。我在第一个文件上循环,制作 10 个数字,然后我拿第二个文件等...
一切似乎都有效,但在我的最后一个图中,我得到了一个彩条,然后在第二个循环后有 2 个彩条,然后是 3 个等等......这个问题只出现在我的最后一个图中。
你对这类问题有什么想法吗?
这是我循环的最后一个情节的结尾:
fig = plt.gcf()
SN_map_final = (S_N_map - mean_SN) / sigma_SN
fig12 = plt.figure(12)
fig_SN_final = plt.imshow(SN_map_final)
cbar = plt.colorbar()
cbar.set_label(r'Signal to Noise (significance $\sigma$)')
plt.xlabel('X (arcmin)')
plt.ylabel('Y (arcmin)')
plt.title('Signal to Noise map')
fig12 = plt.savefig(outname12)
如果你有办法解决这个问题,谢谢;)
解决方案:
我补充说:
plt.clf()
在我的循环结束时它似乎有效
我只是修改了你的代码来绘制一些图像,然后我测试了它。问题是你保存后没有正确清除你的数字。因此,每次调用 plt 时,它都会获取当前图形(已经有一些图)并与新图形重叠。如果保存后清除Figure,则问题解决:
im = np.random.rand(100,100)
for i in xrange(10):
fig12 = plt.figure(12)
fig_SN_final = plt.imshow(im)
cbar = plt.colorbar()
cbar.set_label(r'Signal to Noise (significance $\sigma$)')
plt.xlabel('X (arcmin)')
plt.ylabel('Y (arcmin)')
plt.title('Signal to Noise map')
plt.savefig(str('%03d'%i)+'.png')
plt.clf()
我测试了前面的示例并且对我有用。
我有一个小问题,暂时没有找到解决办法。我有一个脚本,可以循环生成很多数字。我在第一个文件上循环,制作 10 个数字,然后我拿第二个文件等...
一切似乎都有效,但在我的最后一个图中,我得到了一个彩条,然后在第二个循环后有 2 个彩条,然后是 3 个等等......这个问题只出现在我的最后一个图中。
你对这类问题有什么想法吗?
这是我循环的最后一个情节的结尾:
fig = plt.gcf()
SN_map_final = (S_N_map - mean_SN) / sigma_SN
fig12 = plt.figure(12)
fig_SN_final = plt.imshow(SN_map_final)
cbar = plt.colorbar()
cbar.set_label(r'Signal to Noise (significance $\sigma$)')
plt.xlabel('X (arcmin)')
plt.ylabel('Y (arcmin)')
plt.title('Signal to Noise map')
fig12 = plt.savefig(outname12)
如果你有办法解决这个问题,谢谢;)
解决方案:
我补充说:
plt.clf()
在我的循环结束时它似乎有效
我只是修改了你的代码来绘制一些图像,然后我测试了它。问题是你保存后没有正确清除你的数字。因此,每次调用 plt 时,它都会获取当前图形(已经有一些图)并与新图形重叠。如果保存后清除Figure,则问题解决:
im = np.random.rand(100,100)
for i in xrange(10):
fig12 = plt.figure(12)
fig_SN_final = plt.imshow(im)
cbar = plt.colorbar()
cbar.set_label(r'Signal to Noise (significance $\sigma$)')
plt.xlabel('X (arcmin)')
plt.ylabel('Y (arcmin)')
plt.title('Signal to Noise map')
plt.savefig(str('%03d'%i)+'.png')
plt.clf()
我测试了前面的示例并且对我有用。