Matplotlib:循环中的图表再次出现在循环结束时

4

我正在学习Python,并成功创建了一个循环,可以绘制不同的数据并在每次循环计数时更新。但是,在循环结束后,所有的图表都会再次出现在输出底部。 因此,它显示我的图表在z=0,1,2,3 ...处,并在最后一个z值停止,然后所有z值的图表都显示在最终图表下方。我正在使用Python 3.6和Jupyter。

for k in range(0,size(z),50):
    figure()
    w=z[k]
    name = "file_%s.png" % k
    name2 = "z = %s, Index = %s" % (z[k],k)
    title(name2)
    imshow(I[:,:,k], cmap=plt.cm.YlGnBu_r)
    display.clear_output(wait=True)
    display.display(pl.gcf())
    savefig(name)
    time.sleep(0.1)

print('End of Loop')

如果您能将此代码转化为 [mcve],那将非常有用。 - ImportanceOfBeingErnest
1个回答

0

尝试使用plt.show()而不是display.display(pl.gcf())

您可能需要在单元格的第一行添加%matplotlib inline

另外:看起来您正在使用iPython,请将其添加为标签。 此外,按照惯例,pyplot被导入为plt而不是pl


我以前用过这个,但是在Jupyter中,输出总是消失/立即重新出现与新的图形,这不好看。 - Simon
你可以把它放在循环之后,这样它只会闪一次。 - Mefaso

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接