【发布时间】:2018-10-24 21:46:44
【问题描述】:
我知道还有其他人在他们的特定背景下提出这个问题,但这些答案都没有让我更接近于弄清楚这一点。我正在尝试使用 matplotlib 中的一个类将绘图添加到图形中。
我正在尝试让该类将 Line2D 对象作为参数并对其进行一些解释 - 这是有效的。该类还注册了对绘图窗口上的鼠标单击事件的回调 - 这也有效。以下是不起作用的:
fig, ax = plt.subplots()
series, = ax.plot(x_data, y_data)
classthing = MyClass(series)
plt.show()
这是被实例化的类:
class MyClass:
def __init__(self, series):
self.series = series
self.cid = series.figure.canvas.mpl_connect('button_press_event', self)
def __call__(self, event):
self.series.figure.plot([xdata], [ydata])
self.series.figure.canvas.draw()
在鼠标点击时,我想在我点击的图形上添加一个图。这与此处的示例非常相似:https://matplotlib.org/users/event_handling.html
这段代码成功地创建了绘图和对象,但显然我没有从正确的引用中调用 plot() 方法,因为我在倒数第二行得到标题错误。仅给定其中的 Line2D 对象,如何正确引用绘图对象?我在 OOP 方面几乎没有能力。
提前感谢您的帮助。
【问题讨论】:
-
你不会在数字上作图。您绘制在图形中的轴上。
标签: python matplotlib