matplotlib.lines.VertexSelector#

class matplotlib.lines.VertexSelector(line)[源代码][源代码]#

基类:object

管理回调以维护 Line2D 的选定顶点列表。派生类应重写 process_selected 方法以对选择进行处理。

以下是一个示例,它用红色圆圈突出显示选定的顶点:

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()
参数:
lineLine2D

该线条必须已经添加到一个 Axes 中,并且必须设置其 picker 属性。

property canvas#

!! 由 numpydoc 处理 !!

onpick(event)[源代码][源代码]#

当行被选中时,更新选中的索引集合。

process_selected(ind, xs, ys)[源代码][源代码]#

process_selected 方法的默认“不执行任何操作”实现。

参数:
ind整数列表

所选顶点的索引。

xs, ys类似数组

所选顶点的坐标。