我发现了几个类似于我的问题,但答案在我的情况下不起作用... 我认为,在我的情况下,它是不同的,我需要一些帮助弄清楚它是什么。用matplotlib绘图函数绘制图表需要时间分钟
我的脚本为x和y读取两个50000值的文件,并用matplotlib绘图函数绘制这些值。
我插入了一些打印语句来弄清楚为什么它需要更多的一分钟或有时更长的时间...所以最后的“完成!” (之前的plt.show())之后让我们说2秒,但然后所有东西... ...斯普利特
有时我得到一分钟的图片,然后有时候,同样的事情,需要5分钟,或者我杀了处理。
任何人都可以帮忙吗?我从2012年开始在Mac上工作...
colors = cm.rainbow(np.linspace(0, 1, len(data_dict.keys())))
fig, ax = plt.subplots(dpi=150)
for key,c in zip(data_dict.keys(),colors):
ax.plot(x,
data_dict[key],
label=key,
color=c,
alpha=.5)
print("%s DONE!" % (key))
ax.axhline(1,color='red',linestyle='--')
ax.grid(True)
ax.set_xlabel("Zeit in ns")
ax.set_ylabel("Distanz in nm")
legend = ax.legend()
print("DONE!")
plt.show()
什么' data_dict'看起来像? (你在你的问题中提到过'y',但是你的代码中没有'y')这个'for-loop'调用'ax.plot'的次数是多少?在一台典型的机器上,如果你调用'ax.plot'几千次,你将无法获得良好的性能...... – unutbu
在这种情况下,它被称为2倍... x = [2.0,4.0,6.0 ,. ..]; data_dict = {'filename':[2305.0,3456.0,...], 'filename':[2305.0,3456.0,...]} – drmariod
由于您在plt.show()之前看到最后的'完成'并延迟似乎发生在那里,请尝试fig.savefig('output.jpg')看看需要多长时间来实际创建图像,看看它是否可以在不同的显示方法,如subprocess.Popen( 'firefox','-new-tab','output.jpg')我不得不这样做,因为我需要用非阻塞方法调出图像,以便继续进一步处理。 – sabbahillel