2017-01-03 1 views
1

私はpandasプロットに次のコードを使用しています。ファイルを取り込み、特定の行(軌跡ID: 'loc.27404')のプロットを作成します。pandas plot - ファイル内の特定の行をプロットする

ただし、このコードはプロットする線を手動で指定します。

私はプロットしたいすべての行(100個あります)を含む別のファイルを持っています - これらの特定の行が以下のようにプロットされるようにこのファイルを入力できるようにするにはどうすればよいですか?コード。私は理にかなったものを書くようには見えない。

潜在的な解決策は以下のように、リストに線や店舗結果の100Sを読むことであろう
data = {} 
for line in File: 
    cols = line.strip().split('\t') 
    vals = map(float,cols[6:]) 
    data[cols[3]] = vals 

fig,ax = plt.subplots(4,figsize=[15,20]) 

l1= 'loc.27404' 
l2= 'loc.37387' 
l3 = 'loc.05134' 
l4 = 'loc.10034' 

pd.Series(data[l1],index=xticks).plot(ax=ax[0]) 
pd.Series(data[l2],index=xticks).plot(ax=ax[1]) 
pd.Series(data[l3],index=xticks).plot(ax=ax[2]) 
pd.Series(data[l4],index=xticks).plot(ax=ax[3]) 

答えて

0

:forループで使用する['loc.27404','loc.37387','loc.05134','loc.10034']

for i,line_to_plot in enumerate(['loc.27404','loc.37387','loc.05134','loc.10034']): 
    pd.Series(data[line_to_plot],index=xticks).plot(ax=ax[i]) 
+0

はこのいただきありがとうございます。リストファイルを直接入力する方法はありますか?私はプロットしたいラインのリストを生成しました - リストフォーマットは['loc.00037']、['loc.00225']、['loc.00225']、['loc.00257'] – Altheman

+0

です。あなたは '' [[loc.00037 ']、[' loc.00225 ']、[' loc.00225 ']、[' loc.00257 '] '' ''を '' ' '[loc.00037']、['loc.00037'、 'loc.00037'、 'loc.00225'、 'loc.00225'、 'loc.00257'] '' '' [x [0] .00225 ']、[' loc.00225 ']、[' loc.00257 ']] '' '? – Rafa

関連する問題