matplotlibのscatter plot上で選択したポイントのx座標を保存したいです。自分で書いたプログラムをターミナル上で動かすと、毎回保存したx座標が上書きされているようで最後に選択したポイントの値しか記録できません。選択したすべての座標を取得するにはどうしたらいいのでしょうか。ご教示いただければ幸いです。
python
1 2import pandas as pd 3 4import matplotlib.pyplot as plt 5import random 6import numpy as np 7 8 9 10x1=[random.random() for i in range(1000)] 11y1=[random.randint(0, 5000) for i in range(1000)] 12 13def onclick(event): 14 event_xdata_list=[] 15 event_xdata_list.append(event.xdata) 16 data=pd.DataFrame(event_xdata_list) 17 data.to_csv("event_x.csv") 18 19 print( "event.button=%d, event.x=%d, event.y=%d, event.xdata=%f, \ 20 event.ydata=%f"%(event.button, event.x, event.y, event.xdata, event.ydata)) 21 22 23fig=plt.figure(figsize=(16.0,8.0)) 24ax=fig.add_subplot(111) 25 26ax.scatter(x1, y1, c="blue", s=3, label="rpm") 27 28ax.set_xlabel("time(s)") 29ax.set_ylabel("rpm") 30 31 32ax.set_xlim([0,1]) 33ax.set_ylim([0, 5000]) 34 35fig.canvas.mpl_connect('button_press_event', onclick) 36 37plt.show() 38plt.close() 39 40 41
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/01 15:40