code: def on_change_zijd_mouse_cursor(self, event):
          
          if not array(self.CART_rot).any():
              return
          pos = event.GetPosition()
          width, height = self.canvas1.get_width_height()
          pos[1] = height - pos[1]
          xpick_data, ypick_data = pos
          xdata_org = list(self.CART_rot[:, 0]) + list(self.CART_rot[:, 0])
          ydata_org = list(-1*self.CART_rot[:, 1]) + list(-1*self.CART_rot[:, 2])
          data_corrected = self.zijplot.transData.transform(
              vstack([xdata_org, ydata_org]).T)
          xdata, ydata = data_corrected.T
          xdata = list(map(float, xdata))
          ydata = list(map(float, ydata))
          e = 4e0
  
          if self.zijderveld_setting == "Zoom":
              self.canvas1.SetCursor(wx.Cursor(wx.CURSOR_CROSS))
          else:
              self.canvas1.SetCursor(wx.Cursor(wx.CURSOR_ARROW))
          for i, (x, y) in enumerate(zip(xdata, ydata)):
              if 0 < sqrt((x-xpick_data)**2. + (y-ypick_data)**2.) < e:
                  self.canvas1.SetCursor(wx.Cursor(wx.CURSOR_HAND))
                  break
          event.Skip()
docs: If mouse is over data point making it selectable change the shape of
          the cursor
  
          Parameters
          ----------
          event : the wx Mouseevent for that click