Pythonで書かれたリストの値を引数でとってプロットするプログラムのエラー
Pythonで書かれたリストの値を引数で取得し、プロットするプログラムを実行しようとしています。
$ python pythonplot.py input.txt
と実行したところエラーが出てしまいました。
Traceback (most recent call last):
File "pythonplot.py", line 9, in <module>
a = np.loadtxt(sys.argv[1])
File "/Users/username/anaconda/lib/python3.6/site-packages/numpy/lib/npyio.py", line 1101, in loadtxt
for x in read_data(_loadtxt_chunksize):
File "/Users/username/anaconda/lib/python3.6/site-packages/numpy/lib/npyio.py", line 1028, in read_data
items = [conv(val) for (conv, val) in zip(converters, vals)]
File "/Users/username/anaconda/lib/python3.6/site-packages/numpy/lib/npyio.py", line 1028, in <listcomp>
items = [conv(val) for (conv, val) in zip(converters, vals)]
File "/Users/username/anaconda/lib/python3.6/site-packages/numpy/lib/npyio.py", line 746, in floatconv
return float(x)
ValueError: could not convert string to float: '2.0,'
プロットするプログラムを変えずに入力を変更して、プロットを実行したいのですが、この場合、どのような入力が適しているのでしょうか。
具体例などを教えていただきたいです。
入力ファイル(input.txt)
2.0, 8.11, 4.76, 9.65, 6.43
プロットするプログラム(.python)
import sys
import numpy as np
import matplotlib.pyplot as plt
if len(sys.argv) != 2:
print ("usage:", sys.argv[0], "<filename>")
exit()
a = np.loadtxt(sys.argv[1])
print(a)
list1, list2 = zip(*a)
plt.plot(list1, list2)
plt.show()
試したこと
入力ファイル(input.txt)
2.00034
としたところ、以下のエラーになりましたが、こちらも修正方法がわからない状態です
$ python pythonplot.py input.txt
2.00034
Traceback (most recent call last):
File "pythonplot.py", line 13, in <module>
list1, list2 = zip(*a)
TypeError: iteration over a 0-d array