📜  PyQtGraph - 清除折线图中的线(1)

📅  最后修改于: 2023-12-03 15:33:55.182000             🧑  作者: Mango

PyQtGraph - 清除折线图中的线

在 PyQtGraph 中,可以使用 clear() 方法轻松地清除现有折线图中的线。

以下是一个简单的示例程序,展示了如何使用 clear() 方法:

import numpy as np
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication, QMainWindow


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()

        # 设置窗口标题
        self.setWindowTitle('PyQtGraph - Clearing a Plot')

        # 创建一个QtGui部件,以容纳PyQtGraph绘图。
        # 注意,我们将其设置为QWidget,而不是QMainWindow。这样我们就
        # 可以把它放在QMainWindow里的任何地方。
        self.graph_widget = pg.PlotWidget()
        self.setCentralWidget(self.graph_widget)

        # 生成一些样本数据
        x_data = np.arange(0, 10, 0.1)
        y_data = np.sin(x_data)

        # 绘制折线图并保存指针以后的维护
        self.plot_item = self.graph_widget.plot(x=x_data, y=y_data)

        # 添加按钮以清除折线图
        clear_btn = pg.QtWidgets.QPushButton('Clear Plot', clicked=self.clear_plot)
        self.addToolBar(pg.QtCore.Qt.BottomToolBarArea, pg.QtWidgets.QToolBar().addWidget(clear_btn))

    def clear_plot(self):
        self.plot_item.clear()


if __name__ == '__main__':
    app = QApplication([])
    win = MainWindow()
    win.show()
    app.exec_()

在此示例程序中,我们创建了一个 PlotWidget 实例,其用于容纳折线图。我们通过使用 plot 方法在该控件中创建了折线图,然后将返回指针保存在 plot_item 中以进行后续的维护。接着,我们添加了一个工具栏,其中包含一个 QPushButton,用于清除折线图。按钮的 clicked 信号连接到 clear_plot 方法,该方法在调用 clear() 之前使用 plot_item 删除该折线图。

通过这种方式,您可以在 PyQtGraph 中方便地清除折线图中的线。