2017-04-24 31 views
0

我正在使用Python 2.7編寫代碼,該代碼讀取多個數據文件並從中讀取圖表。代碼的relivant部分如下:將Numpy數組元素轉換爲字符串:TypeError:一元+的錯誤操作數類型:'str'

N = np.asarray([[10],[20],[30],[40],[50],[60],[70],[80],[90],[100]]) 
Num = np.transpose(N) 
NumberOfFiles = np.size(Num) 
Files = np.empty(NumberOfFiles,dtype=str) 
Files = ['NumberOfBottomLayers/TM_O_trans_combined'+str(Num[0,i])+'.txt' for 
i in range(NumberOfFiles)] 

StopBand = np.empty([NumberOfFiles,2],dtype=float) 

for i in range(NumberOfFiles): 
    Data = np.loadtxt(Files[i],dtype='float') 
    #lambda, Trans, TransPhase, Ref, RefPhase 

    Lambda = Data[:,0] #wavelegth of light 
    R = Data[:,3] #reflection coefficient 

    plt.figure(figsize=(12,6)) 
    plt.plot(Lambda,R) 
    plt.plot((780,905),(0.9,0.9),color = 'r') 
    plt.xlabel('Wavelegth/ um') 
    plt.ylabel('Reflection Coefficient') 
    plt.minorticks_on() 
    plt.grid(which='both') 
    plt.xlim(788,902) 
    plt.ylim(0,1.1) 
    plt.title('Number of layers bellow cavity = ',+str(Num[0,i])) 
    plt.show() 

在線路plt.title(,+ STR(民「波紋管腔=層數」 [0,1]))我得到一個錯誤讀數' TypeError:一元+:'str''的錯誤操作數類型。有誰知道這是什麼原因造成的?

+0

您的逗號後跟加號。 '+'。逗號不需要。 – khelwood

+0

逗號在行 'plt.title('層數bellow cavity ='+ str(Num [0,i]))'' – SmartManoj

回答

1

應該是?

plt.title('Number of layers bellow cavity = '+str(Num[0,i])) 
0

您也可以使用format,令人驚訝的是;-)允許您格式化數字。例如:

plt.title('Number of layers bellow cavity = {:4d}'.format(Num[0,i])) 
相關問題