我發現了幾個類似於我的問題,但答案在我的情況下不起作用... 我認爲,在我的情況下,它是不同的,我需要一些幫助弄清楚它是什麼。用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