pyqt折线图设置坐标轴刻度

发布时间 2023-09-10 13:55:27作者: 西北逍遥

在PyQt中,可以使用matplotlib库来绘制折线图并设置y轴的最大最小值。

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
import numpy as np


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

    def initUI(self):
        self.setWindowTitle("Line plot example")
        layout = QVBoxLayout()
        self.widget = QWidget()
        self.widget.setLayout(layout)
        self.setCentralWidget(self.widget)

        self.figure = Figure()
        self.canvas = FigureCanvas(self.figure)
        layout.addWidget(self.canvas)
        self.axes = self.figure.add_subplot(111)

        # Generate random data
        x = np.linspace(0, 10, 100)
        y = np.sin(x)

        # Plot data
        self.axes.plot(x, y)

        # Set y axis range
        self.axes.set_ylim([-1, 1])  # 设置y轴的最小值为-1,最大值为1

        self.canvas.draw()


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())

 

首先创建了一个MainWindow类,继承自QMainWindow。在initUI方法中,我们创建了一个Figure对象和一个FigureCanvas对象,并将它们添加到布局中。然后,使用add_subplot方法创建一个子图,并使用随机生成的数据绘制折线图。最后,使用set_ylim方法设置y轴的范围,并将其最小值和最大值设置为-1和1。最后,我们调用canvas.draw()方法来绘制图形。

##########################