from PyQt5.QtCore import Qt from PyQt5.QtWidgets import QApplication, QVBoxLayout, QWidget, QMainWindow from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure import matplotlib.pyplot as plt import sys from datetime import datetime class PlotWidget(QWidget): # def __init__(self, parent: QWidget | None = ..., flags: Qt.WindowFlags | Qt.WindowType = ...) -> None: # super().__init__(parent, flags) def __init__(self, scalex, scaley, xlabel, ylabel): super().__init__() self.scalex = scalex self.scaley = scaley self.xlabel = xlabel self.ylabel = xlabel self.fig = Figure() self.ax = self.fig.add_subplot(111) # self.ax.plot(scalex=scalex, scaley=scaley) self.ax.plot(scalex, scaley) self.ax.set_xlabel(xlabel=xlabel) self.ax.set_ylabel(ylabel=ylabel) self.canvas = FigureCanvas(self.fig) layout = QVBoxLayout() layout.addWidget(self.canvas) self.setLayout(layout) self.canvas.draw() def save(self, dir_path): plt.figure() plt.plot(self.scalex, self.scaley) plt.xlabel(self.xlabel) plt.ylabel(self.ylabel) current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") plt.savefig(f"{dir_path}/{current_time}.png")