2

matplotlib で散布図を作成しましたが、インタラクティブにしたいと考えています。グラフ上でプロットされた複数の点を選択できるようにしたいと思います。
matplotlib サイトで投げ縄関数を見たことがありますが、コードの一部がメイン ビットにあるため、コードに挿入する方法がわかりません。私が好むのは、長方形があるズーム機能の例によく似ていることです。しかし、私はこれを行う方法の手がかりがありません

これまでの私のコードでは、1つのポイントを選択するだけです

  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