2017-01-03 16 views
1

我對大熊貓情節使用以下代碼。它需要一個文件,並繪製特定行的圖(軌跡ID's:即'loc.27404')。熊貓情節 - 繪製文件中的特定行

但是,此代碼手動指定我想繪製的線條。

我有另一個文件包含我想要繪製的所有行(有100個) - 我如何編寫一個腳本,這將允許我輸入此文件,以便這些特定行使用下面的繪圖碼。我似乎無法寫出任何有意義的東西。

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

一個潛在的解決方案是將讀取線和存儲結果的100S在列表中,如:['loc.27404','loc.37387','loc.05134','loc.10034']中使用一個for循環:

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'中爲x使用''[x [0]'''loc.00037','loc.00225','loc.00225','loc.00257' .00225'],['loc.00225'],['loc.00257']]'''? – Rafa