2016-02-28 23 views
0

我正嘗試用我擁有的數據創建21個散點圖。這21個地塊有不同的數據組合,我成功地創建了正確的地塊。然而,我不能爲了我的生活而弄清楚如何正確地標記情節。這裏是我的代碼:在for循環中需要正確的x&y標籤

F225W = np.loadtxt('path/phot_F225W.dat',usecols=[0], unpack=True) 
F275W = np.loadtxt('path/phot_F275W.dat',usecols=[0], unpack=True) 

...我這樣做的代碼應該通過過濾器和情節BR與R上的不同組合來遍歷所有過濾器

Filters = [F225W,F275W,F336W,F438W,F606W,F814W,F850L] 

for i in range(len(Filters)): 

    for j in range(len(Filters)): 
     B = Filters[i] 
     R = Filters[j] 

     BR = B-R 

     if j<=i: 
      pass 
     else: 
      plt.figure() 
      plt.gca().invert_yaxis() 
      plt.xlim(-6,6) 
      plt.ylim(-4,-15) 
      plt.xlabel(str(Filters[i]) + '-' + str(Filters[j])) 
      plt.ylabel(str(Filters[j])) 
      plt.plot(BR,R,'k.',markersize=1) 

plt.show() 

,但不是隻是將它標記爲BR和R,我需要它向我展示創建劇情時使用的過濾器。目前它創建了正確的圖表,但標籤不顯示。

+0

您是否嘗試將plt.show()放入j iterated for循環中?我認爲它會做很多陰謀,最後只會告訴你。每次可能覆蓋x和y標籤? –

+0

我嘗試過移動它,但它不能解決我的問題 – dontdeimos

+0

您是否嘗試使用下面使用Filter_names列表的標籤的字符串列表? –

回答

0

要擴大評論,這是否可以解決問題?循環會暫停,直到您關閉每次迭代時彈出的每個圖(如果保留plt.show())。你可以或者保存每個人物和他們單獨看所示的解決方案,以及:

Filters = [F225W,F275W,F336W,F438W,F606W,F814W,F850L] 
Filter_names = ['F225W','F275W','F336W','F438W','F606W','F814W','F850L'] 

for i in range(len(Filters)): 

    for j in range(len(Filters)): 
     B = Filters[i] 
     BB = Filter_names[i] 
     R = Filters[j] 
     RR = Filter_names[j] 

     BR = B-R 

     if j<=i: 
      pass 
     else: 
      plt.figure() 
      plt.gca().invert_yaxis() 
      plt.xlim(-6,6) 
      plt.ylim(-4,-15) 
      plt.xlabel(str(Filter_names[i]) + '-' + str(Filter_names[j])) 
      plt.ylabel(str(Filter_names[j])) 
      plt.title('B filter:' + BB + '\tR Filter:' + RR) 
      plt.plot(BR,R,'k.',markersize=1) 

      os.chdir(path_you_want_to_save_to) 
      plt.savefig('B_' + BB +'_R_' + RR + '.png') 

      #uncomment line to see graph and pause loop. 
      #also note the indentation has changed 
      #plt.show() 
      plt.close() 

再次找我猜的過濾器是某種數組列表之後?因此,您需要另一個名爲Filter_names的字符串來表示它們的名稱。我認爲這樣可以解決您的問題,因爲您之前試圖用列表數據標記它們。

+0

這使得很多感覺!謝謝,它的工作原理! – dontdeimos