X



Matplotlib でグラフプログラミング【Python】

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2009/10/24(土) 21:06:22

高機能で柔軟性があり、使い易く、数式表示がデフォルトで可能で、
美しいグラフが作成できる人気のグラフライブラリである Matplotlib
のスレッドです。


ギャラリー
http://matplotlib.sourceforge.net/gallery.html
http://matplotlib.sourceforge.net/users/screenshots.html

ユーザーズガイド
http://matplotlib.sourceforge.net/contents.html

ダウンロード
http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-0.99.1/
0223デフォルトの名無しさん
垢版 |
2016/10/10(月) 19:20:25.82ID:cQ1gLyON
>>221 >>222
回答ありがとうございます
参考にして書いて見た結果ボタンを押した位置に応じた場所に点がでるようになりました
度々ですみませんが今度は
1度ボタンを押した後、大きいキャンバスのどこかを2度目のクリックをしたときそこに
1度だけ点がでるようにしたいです
ここからどう変えれば良いでしょうか?(イメージとしてはボタンを押すと,次のクリックの入力待ちになるイメージです


from numpy.random import rand
import matplotlib.pyplot as plt
from matplotlib.widgets import Button

fig = plt.figure()
ax = fig.add_subplot(111)
plt.subplots_adjust(bottom=0.2)

class Index(object):
def __init__(self, ax):
self.ax = ax

def next(self, event):
xdata = event.xdata
ydata = event.ydata
self.ax.plot(xdata, ydata, color="red", marker="o")
plt.draw()

axnext = plt.axes([0.81, 0.05, 0.1, 0.075])
fig.canvas.mpl_connect('button_press_event', Index(ax).next)
bnext = Button(axnext, 'circle')
bnext.on_clicked(Index(ax).next)
plt.show()
0224デフォルトの名無しさん
垢版 |
2016/10/11(火) 00:20:24.10ID:7970w8cq
>>223 追加
聞いてばかりですみません、もう一つ聞きたいことがありまして
ボタンを2つにした場合には
fig.canvas.mpl_connectをどうつなげるべきなのでしょうか?

class Index1(object):
def __init__(self, ax):
self.ax = ax

def next(self, event):
xdata = event.xdata
ydata = event.ydata
self.ax.plot(xdata, ydata, color="red", marker="o")
plt.draw()

def prev(self, event):
xdata = event.xdata
ydata = event.ydata
self.ax.plot(xdata, ydata, color="blue", marker="o")
plt.draw()


axnext = plt.axes([0.81, 0.05, 0.1, 0.075])
axprev = plt.axes([0.11, 0.05, 0.1, 0.075])
fig.canvas.mpl_connect('button_press_event', Index(ax).???)
bnext = Button(axnext, 'red')
bnext.on_clicked(Index(ax).next)
bnext = Button(axprev, 'blue')
bnext.on_clicked(Index(ax).prev)
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況