2012-03-01 2 views
0

PDF 파일에 추가 페이지가 나타나는 이유를 알 수 없습니다. 로드 된 파일은 7 개 뿐이지 만 PDF 출력 파일에는 8 개가 작성됩니다. 아래 코드는 제가 작업하고있는 코드입니다. 로드되는 파일은 실제로 각각의 이름이 다른 이름으로 바뀐 파일 하나의 사본입니다. 실제 내용이 동일하다는 사실을 문제가되지 않도록해야합니다.matplotlib에서 PDF 출력으로 생성되는 추가 페이지를 멈추는 방법 PdfPages function

편집 .. 나는 그것이로드를 두 번 작성되는 PDF 파일에 추가되는 마지막 파일의 확인 할 수 있었다하지만 난 아직도 왜 표시되지 않습니다

def processFiles(): 
    ##Set some vars 
    global kdeData 
    counter = 0 
    sColumn = selectCol() 
    sSamples = setSamples() 
    rfName = raw_input("Name of file to save results to: ")+".pdf" 
    createPDF = PdfPages(rfName) 

    ##Iterate for each file 
    for file in fileList: 
     valid = [sColumn] 
     matrix = np.loadtxt(file, skiprows=1, usecols=valid) 
     colCount = np.loadtxt(file, dtype=object) 
     totalCols = colCount.shape[1] 

     ldlValid = [i for i in range(totalCols)] 
     lDL = np.loadtxt(file, usecols=ldlValid, dtype=object) 

     kdeData = np.array(matrix) 

     gkde = stats.gaussian_kde(kdeData) 
     ind = np.linspace(-int(getRange()), int(getRange()), len(kdeData) * sSamples) 
     kdepdf = gkde.evaluate(ind) 
     plt.figure() 

     ##plot histogram of sample 
     plt.hist(kdeData, len(kdeData), normed=1, alpha=0.20) 
     ##plot data generating density 
     plt.plot(ind, stats.norm.pdf(ind), 'r', linewidth=0.8, label='DGP normal') 
     ##plot estimated density 
     plt.plot(ind, kdepdf, 'g', linewidth=0.8, label='kde') 
     plt.title('KDE for '+str(nameList[counter])) 
     plt.legend() 
     plt.savefig(createPDF, format='pdf') 
     counter += 1 

    ##Save PDF and open it 
    createPDF.savefig() 
    createPDF.close() 
    os.startfile(rfName) 

답변

2

그것은 여분의 createPDF.savefig()입니다 아래에서 두 줄 위로.

+0

아 ... 나는 의사의 글을 잘못 읽고 생각하고 둘 다 필요하다고 생각합니다. 그들은 똑같은 일을하는 두 가지 다른 방법을 제공하는 것처럼 보입니다. 감사. – DamianJ

관련 문제