前提・実現したいこと
valuesに直接値をリストで入力するとうまく表示できますが、csvファイルから読み込むと円の中には何も表示されません。
csvファイルから読み込んだ値の型はリストになっていることは確認したので状況としては直接書き込んだものと一緒な状態だと思います。
何か解決策がありましたら、コメントお願いします。
該当のソースコード
import matplotlib.pyplot as plt import numpy as np import csv def plot_polar(labels, values, imgname): angles = np.linspace(0, 2 * np.pi, len(labels) + 1, endpoint=True) values = np.concatenate((values, [values[0]])) # 閉じた多角形にする fig = plt.figure() ax = fig.add_subplot(111, polar=True) ax.plot(angles, values, 'o-') # 外枠 ax.fill(angles, values, alpha=0.25) # 塗りつぶし ax.set_thetagrids(angles[:-1] * 180 / np.pi, labels) # 軸ラベル ax.set_rlim(-90, -40) fig.savefig(imgname) plt.close(fig) labels = ['0°', '45°', '90°', '135°', '180°', '225°', '270°', '315°'] #values = [-71, -61, -78, -79, -81, -78, -77, -79] with open('./ble_ave.csv') as f: reader = csv.reader(f) for row in reader: values = row print(values) print(type(values)) plot_polar(labels, values, "radar.png")
csvファイル
-70,-56,-48,-66,-64,-57.7,-60,-78
補足情報(FW/ツールのバージョンなど)
python3.7.4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/08 23:36
2019/11/08 23:53
2019/11/11 01:55