ウィンドウを2つ表示させて、例えば片方のウィンドウにあるスライダーを動かした時にもう片方のグラフが動くようなプログラムを作りたいです。
python
1class Test: 2 def __init__(self): 3 self.fig1 = plt.figure(figsize=(4, 3)) 4 self.parameter = plt.axes([0.1, 0.05, 0.8, 0.1]) 5 self.p_slider = Slider(self.parameter, 'P', -1, 1, valinit=0) 6 self.p_slider.on_changed(self.update) 7 8 self.fig2 = plt.figure(figsize=(4, 3)) 9 self.ax = self.fig2.add_subplot(1,1,1) 10 self.l6, = self.ax.plot([],[]) 11 plt.show() 12 13 def update(self,val): 14 self.l6.set_data([0, self.p_slider.val],[0, self.p_slider.val]) 15 plt.draw() 16 17if __name__ == '__main__': 18 main = Test()
上記のようなコードを書いてみましたがうんともすんとも言いませんでした。
しかし、下記のようにウィンドウを一つにすれば動きました。
python
1class Test: 2 def __init__(self): 3 self.fig1 = plt.figure(figsize=(4, 3)) 4 self.parameter = plt.axes([0.1, 0.05, 0.8, 0.1]) 5 self.p_slider = Slider(self.parameter, 'P', -1, 1, valinit=0) 6 self.p_slider.on_changed(self.update) 7 8 self.ax = self.fig1.add_subplot(1,1,1) 9 self.l6, = self.ax.plot([],[]) 10 plt.show() 11 12 def update(self,val): 13 self.l6.set_data([0, self.p_slider.val],[0, self.p_slider.val]) 14 plt.draw() 15 16if __name__ == '__main__': 17 main = Test()
どなたか良い方法ご存知でしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。