pyqtgraph:完全清除 PlotWidget

pyqtgraph: completely clear PlotWidget

我基本上使用了这个例子中的代码:https://github.com/pyqtgraph/pyqtgraph/blob/develop/examples/MultiplePlotAxes.py 但我在运行时添加和删除附加轴。在向我的代码添加多个轴之前,我使用 pw.clear 清除 PlotWidget,但这只会清除轴 1 上的项目。如何完全重置 PlotWidget(包括图例)? (不关闭它并创建一个新的 - 如果可能的话)

我正在回答您的 ,所以我将只添加代码片段来执行您想要的操作。同样,pw.clear() 也可以正常工作,但是您有这种直接使用 scene() 的特殊情况。再说一次,你必须手动做事。

要清除所有图和图例,您可以使用:

for plot_item in [legend, p1, p2, p3]:
    plot_item.clear()

您提到,您正在动态添加和删除地块。在这种情况下,我会创建一个具有重置功能的活动地块列表。然后你可以只从这个列表中添加或删除曲线,并且总是有一致的方法来清除它们。

例如:

active_plot_items = [legend, p1, p2, p3]

def clear_plot_items():
    for plot_item in active_plot_items:
        plot_item.clear()

clear_plot_items()