matplotlib.lines.VertexSelector — Matplotlib 3.10.3 documentation (original) (raw)
class matplotlib.lines.VertexSelector(line)[source]#
Bases: object
Manage the callbacks to maintain a list of selected vertices for Line2D. Derived classes should override the process_selected method to do something with the picks.
Here is an example which highlights the selected verts with red circles:
import numpy as np import matplotlib.pyplot as plt import matplotlib.lines as lines
class HighlightSelected(lines.VertexSelector): def init(self, line, fmt='ro', **kwargs): super().init(line) self.markers, = self.axes.plot([], [], fmt, **kwargs)
def process_selected(self, ind, xs, ys):
self.markers.set_data(xs, ys)
self.canvas.draw()
fig, ax = plt.subplots() x, y = np.random.rand(2, 30) line, = ax.plot(x, y, 'bs-', picker=5)
selector = HighlightSelected(line) plt.show()
Parameters:
lineLine2D
The line must already have been added to an Axes and must have its picker property set.
property canvas#
When the line is picked, update the set of selected indices.
process_selected(ind, xs, ys)[source]#
Default "do nothing" implementation of the process_selected method.
Parameters:
indlist of int
The indices of the selected vertices.
xs, ysarray-like
The coordinates of the selected vertices.