2017-08-30 5 views
0

2つの異なるデータフレームからそれぞれ1つの列を読み込み、線グラフ上にプロットしています。グラフは私の画面上にポップアップしますが、ファイルが保存されていないので、私のplt.savefigコマンドは機能しません。matplotlib savefigはファイルを出力しません

import matplotlib.pyplot as plt 
import plotly.plotly as py 
import pandas as pd 
import plotly.graph_objs as go 

# read in LEC 
LLEC = pd.read_csv('LLEC_1.csv').transpose() 
RLEC = pd.read_csv('RLEC_2.csv').transpose() 

#read in DGCA3 
LDGCA3=pd.read_csv('LDGCA3_13.csv').transpose() 
RDGCA3 = pd.read_csv('RDGCA3_14.csv').transpose() 

def plot_betas_left(betaNum): 
    betaNum = int(betaNum) 

    #plot betas for both ROIs. start with LEC 
    ax = LLEC[betaNum].plot() 
    # add DGCA3 
    LDGCA3[betaNum].plot(ax=ax) 
    # label axes 
    ax.set_xlabel("precise beta number (0 is first)") 
    ax.set_ylabel("beta coefficient value") 
    # inset legend 
    ax.legend(['LEC', 'DGCA3']) 
    plt.savefig('Subj%s_left_LEC_DGCA3.png' % betaNum+1) 

plot_betas(3) 

答えて

3

この試してください:あなたはそこに%オペレータと+オペレータ間の優先順位の問題持って見るよう

>>> "%s" % 12+1 
Traceback (most recent call last): 
    File "<string>", line 301, in runcode 
    File "<interactive input>", line 1, in <module> 
TypeError: Can't convert 'int' object to str implicitly 

を:

plt.savefig('Subj%s_left_LEC_DGCA3.png' % betaNum+1) 

'Subj%s_left_LEC_DGCA3.png' % betaNumが最初の文字列に計算され、 Pythonはこの文字列に1を追加しようとします。これはエラーを説明しています(あなたはエラーを投稿しませんでしたが、

に)それはそれを離れて与え保存されませんT Iはどうなる:

plt.savefig('Subj%s_left_LEC_DGCA3.png' % (betaNum+1)) 

またはより良いを:

plt.savefig('Subj{}_left_LEC_DGCA3.png'.format(betaNum+1)) 

あなたがその例外を見ることができ、コンソールのホールドを取得し、言いましたコードを大きくすると大きな助けになります。

関連する問題