matplotlib.lines.
VertexSelector
(line)¶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 = plt.figure()
ax = fig.add_subplot(111)
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.
onpick
(event)¶When the line is picked, update the set of selected indices.
process_selected
(ind, xs, ys)¶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.