code: def event_info(self, event):
          
          def default_func(event):
              return {}
          registry = {
                  AxesImage : [pick_info.image_props],
                  PathCollection : [pick_info.scatter_props, self._contour_info,
                                    pick_info.collection_props],
                  Line2D : [pick_info.line_props, pick_info.errorbar_props],
                  LineCollection : [pick_info.collection_props,
                                    self._contour_info,
                                    pick_info.errorbar_props],
                  PatchCollection : [pick_info.collection_props,
                                     self._contour_info],
                  PolyCollection : [pick_info.collection_props,
                                    pick_info.scatter_props],
                  QuadMesh : [pick_info.collection_props],
                  Rectangle : [pick_info.rectangle_props],
                  }
          x, y = event.mouseevent.xdata, event.mouseevent.ydata
          props = dict(x=x, y=y, label=event.artist.get_label(), event=event)
          props['ind'] = getattr(event, 'ind', None)
          props['point_label'] = self._point_label(event)
  
          funcs = registry.get(type(event.artist), [default_func])
  
          # 3D artist don't share inheritance. Fall back to naming convention.
          if '3D' in type(event.artist).__name__:
              funcs += [pick_info.three_dim_props]
  
          for func in funcs:
              props.update(func(event))
  
          return props
docs: Get a dict of info for the artist selected by "event".