matplotlib.lines.
VertexSelector
(line)[source]¶Manage the callbacks to maintain a list of selected vertices for
matplotlib.lines.Line2D
. Derived classes should override
process_selected()
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):
lines.VertexSelector.__init__(self, 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()
Initialize the class with a matplotlib.lines.Line2D
instance. The line should already be added to some
matplotlib.axes.Axes
instance and should have the
picker property set.
process_selected
(ind, xs, ys)[source]¶Default "do nothing" implementation of the
process_selected()
method.
ind are the indices of the selected vertices. xs and ys are the coordinates of the selected vertices.