2017-04-25 6 views
0

私はMatplotlibでプロットを表示しようとしていますが、.txtファイルの配列データを使用していますが、数字が表示されているときはプロットはなく、ラベルは番号配列の位置の何が起こっていますか?matplotlibでエラーが発生しました。プロットを表示しない

イントロデータファイルは次のようである:

0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、0.0、 1.0、1.0、1.0、1.0、1.0、1.0、1.0、 2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,25.0,25.0,25.0,25.0,25.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0,2.0、次に25.0、25.0、25.0、25.0、25.0

私にこのプロットを示しています。

Plot from array

そして、それはコードです:

import matplotlib.pyplot as plt 
import codecs 

converted = [] 
reward = open('reward_5_clusters','r') 
acum = reward.readlines() 
for line in acum: 
    if line.startswith(codecs.BOM_UTF8): 
     line = line[len(codecs.BOM_UTF8):] 
    x = line.split(', ') 
    converted.append(x) 

plt.plot(converted, label='5 clusters') 
plt.ylabel('Reward') 
plt.xlabel('Time') 
plt.title('Cumulative Reward') 
plt.grid(True) 
plt.legend(loc=0) 
plt.show(block=False) 
plt.savefig('cumulative_reward.png') 

この問題を解決する方法は?

答えて

0

converted.appendからconverted.extendに変更してください。単一の系列を渡す場合は、ネストされたリストをplt.plotに渡しています。

+0

ありがとう、これは私のために解決! –

関連する問題