在pyqt5中用matplot的方法显示四个折线图的程序
时间: 2023-06-09 20:07:25 浏览: 103
python画折线图的程序
以下是一个用PyQt5和matplotlib库绘制四个折线图的示例程序:
```
import sys
import numpy as np
import matplotlib.pyplot as plt
from PyQt5.QtWidgets import QApplication, QMainWindow, QSizePolicy
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置标题、大小
self.setWindowTitle("四个折线图")
self.setGeometry(100, 100, 800, 600)
# 创建一个Matplotlib绘图区域
self.figure = plt.figure()
# 在Matplotlib绘图区域上绘制四个折线图
x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
y4 = np.exp(x)
ax = self.figure.add_subplot(221)
ax.plot(x, y1)
ax.set_title("折线图一")
ax = self.figure.add_subplot(222)
ax.plot(x, y2)
ax.set_title("折线图二")
ax = self.figure.add_subplot(223)
ax.plot(x, y3)
ax.set_title("折线图三")
ax = self.figure.add_subplot(224)
ax.plot(x, y4)
ax.set_title("折线图四")
# 创建一个绘图控件,把 Matplotlib 绘图区域添加到绘图控件上
self.canvas = FigureCanvas(self.figure)
self.canvas.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.setCentralWidget(self.canvas)
if __name__ == "__main__":
app = QApplication(sys.argv)
main_window = MainWindow()
main_window.show()
sys.exit(app.exec_())
```
这个程序可以在PyQt5中创建一个包含四个子窗口的主窗口,每个子窗口都显示一个折线图。程序中使用matplotlib库绘制折线图,并将绘制结果添加到绘图控件上显示。注意,这个程序并没有使用PyQt5中的QChart控件,而是直接使用了matplotlib库,因此可能不够优秀。
阅读全文