我在Spyder IDE中编写了一些Python来并排绘制一对图像,以便可以直观地查看它们。大多数时候我只需要3秒钟的时间来观察它们,但每隔一段时间我需要更长的时间来仔细观察它们。因此,我没有使用t I me.sleep,而是将其编码为等待按下回车键,如下所示:
import matplotlib.pyplot as plt
import os
def VI_segmentation():
root = os.getcwd()
NR_dir = root + '\\Neurite_Results\\'
SO_dir = root + '\\Segmentation_Overlays\\'
jpgs = os.listdir(NR_dir)
fig = plt.figure(figsize=(20,12))
for jpg in jpgs:
fig.suptitle(jpg , fontsize=14, fontweight='bold')
image_NR = plt.imread(NR_dir + jpg)
image_SO = plt.imread(SO_dir + jpg)
plt.subplot(121)
plt.imshow(image_NR)
plt.subplot(122)
plt.imshow(image_SO)
plt.draw()
plt.pause(0.01)
input('Press Enter to continue')
VI_segmentation()
问题是我的思维速度比我的电脑还快。计算机需要5或6秒才能对Enter键作出响应,并在响应后再更新几秒。当你浏览成百上千张基本上都很好的图片时,你会发现人体工程学很糟糕。任何简化此代码的想法都将非常感谢。
您可以更改matplotlib后端并检查哪个更适合您的绘图。
您可以尝试GTKAgg后端,如回答中所述:https://stackoverflow.com/a/30655528/2632856
尝试在matplotlib import语句之后添加第二行代码。
你还可以尝试其他的后端。有关可用的后端,请参见此链接,http://matplotlib.org/faq/usage_faq.html#what-is-a-backend
这个版本的代码最终解决了我的问题:
关键是更改绘图中的数据,而不是添加新的绘图。这个答案对我很有帮助。
Why does my pylab animation slow down with each update?
奇怪的是,当我开始更改绘图数据而不是重新填充时,我开始出现奇怪的行为,即图形会放大,但周围的窗口不会。不知怎么的,这个fig.set_size_inches坏了,所以我在图形创建和轴创建之间移动,以便在图形创建时设置图形大小。
相关问题 更多 >
编程相关推荐