2

インタラクティブな散布図を作成する次のコードがあります。

if 1: # picking on a scatter plot (matplotlib.collections.RegularPolyCollection)

x, y, c, s = rand(4, 100)
def onpick3(event):
    ind = event.ind
    print('onpick3 scatter:', ind, np.take(x, ind), np.take(y, ind))

fig = figure()
ax1 = fig.add_subplot(111)
col = ax1.scatter(x, y, 100*s, c, picker=True)
#fig.savefig('pscoll.eps')
fig.canvas.mpl_connect('pick_event', onpick3)

私がやりたいことは、このグラフを wxPython に統合することです

どうすればこれを行うことができますか?

4

1 に答える 1

1

やりたいことは、wxPanel 内に図を配置することです。良い例については、こちらを参照してください。

class CanvasPanel(wx.Panel):
    def __init__(self, parent):
        wx.Panel.__init__(self, parent)

        self.figure = Figure()
        self.axes1 = self.figure.add_subplot(211)
        self.axes2 = self.figure.add_subplot(212)
        self.canvas = FigureCanvas(self, -1, self.figure)
        self.sizer.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
        self.SetSizer(self.sizer)
        self.Fit()
        self.figure.tight_layout()
        self.canvas.mpl_connect('motion_notify_event', self.onMotion)

    def onMotion(self, event):
        if event.inaxes:
            xpos = event.xdata
            print(' %0.1f' % (xpos))
于 2013-10-14T23:07:00.537 に答える