2

我在 matplotlib 中创建了一个散点图,但是我想让它具有交互性。我想要它,所以我可以在图表上选择多个绘制点。
我在 matplotlib 网站上看到了 lasso 函数,但不知道如何放入我的代码中,因为一些代码在 main 位中。我更喜欢的是很像缩放功能的例子,你有一个矩形。但是我不知道如何做到这一点

到目前为止,我的代码只允许您选择一个点

  def showFrame(self, msg):

   self.pubsubText.SetLabel("This is the Contact Map for the chain "+msg.data[0]+" in the PDB file "+msg.data[1])
   self.dpi = 100
   self.fig = figure.Figure((5.0, 4.0), dpi=self.dpi)
   self.canvas = wxagg.FigureCanvasWxAgg(self, -1, self.fig)
   self.axes = self.fig.add_subplot(111)

   self.vbox = wx.BoxSizer(wx.VERTICAL)
   self.vbox.Add(self.canvas, 1, wx.LEFT | wx.TOP | wx.GROW)
   self.vbox.AddSpacer(25)
self.toolbar = wxagg.NavigationToolbar2WxAgg(self.canvas)
self.vbox.Add(self.toolbar, 0, wx.EXPAND)
   self.SetSizer(self.vbox)
   self.vbox.Fit(self)


def draw_figure(self):

    def onpick3(event):
           ind = event.ind
           print('onpick3 scatter:', ind, np.take(x, ind), np.take(y, ind))
    self.axes.get_xaxis().set_visible(False)
    self.axes.get_yaxis().set_visible(False)
       self.axes.clear()
       x, y= [e[0] for e in number_list],[e[1] for e in number_list]
       self.axes.scatter(x, y,color="black",picker=True)
    self.canvas.mpl_connect('pick_event', onpick3)
       self.canvas.draw()
draw_figure(self)

frame=self.GetParent()
frame.Show()

基本上我要问的是如何将套索或矩形应用于我的代码

4

0 回答 0