2017-05-23 23 views
1

我想將每個結果曲線保存在一個圖中。但是,第一條曲線會被正確保存(我的意思是一條曲線),第二條曲線將被添加到第一條曲線,然後在另一條曲線中保存。所以第二個曲線給出了兩條曲線,第三條曲線給出了三條曲線,這是錯誤的,我希望每條曲線都是孤立的。通過這種方式,我可以做我的分析。爲什麼曲線在同一圖中累積?爲什麼他們不是分開繪製?

for b in range(0,16): 
     tempSumDiff = np.zeros(len(tempTraces[0])) 
      for i in range(9): 
       for j in range(i): 
        tempSumDiff += np.abs(tempMeans[i] - tempMeans[j]) 

     plt.plot(tempSumDiff) 
     plt.grid() 
     plt.savefig('/local/home/Results_Picture/tempSumDiff_Byte_'+str(b)+'.png') 

我該如何糾正?

+0

你舉的例子還不清楚。請提供正確的縮進。繪圖命令是循環的一部分嗎? – ImportanceOfBeingErnest

+0

@ImportanceOfBeingErnest我糾正它,繪圖命令是每個循環迭代的結果我的意思是我必須有16個不同的曲線,在16個不同的圖像 – Sony

回答

-1

把你的積成一個新的人物,你需要創建一個新的身影。

如果您創建一個新的人物,情節你之前,你將獲得每個情節在一個新的人物:

import numpy as np; np.random.seed(1) 
import matplotlib.pyplot as plt 

x = np.linspace(0,2, 23) 
data = np.random.normal(size=(len(x),9)) 

for i in range(9): 
    plt.figure() ### <=== create new figure 
    plt.plot(x,data[:,i]) 
    #plt.savefig(...) #put savefig here, if needed. 

plt.show() 
+0

他想要16個不同的情節!所以plt.show()應該在循環內! –

+0

@alec_djinn如果你運行代碼,你會得到9塊地塊。如果將'plt.show()'放在循環中,則需要在顯示下一個圖形之前單獨關閉每個圖形。 – ImportanceOfBeingErnest

+0

是的,你是對的,我沒有注意到你提前創建了這個圖。我從來沒有這樣做,我只是策劃和保存,它的工作原理。 –

相關問題