怎么用pyside2 画曲线图
时间: 2023-07-11 14:47:02 浏览: 208
绘制曲线图
要使用 PySide2 绘制曲线图,可以使用 Matplotlib 库。Matplotlib 是一个 Python 绘图库,它允许您创建各种类型的图表,包括曲线图、散点图、条形图等等。
以下是一个使用 PySide2 和 Matplotlib 库绘制曲线图的示例代码:
```python
import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QSizePolicy, QVBoxLayout, QWidget
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个 Matplotlib Figure 对象
fig = Figure()
# 在 Figure 对象中添加一个 Axes 对象
ax = fig.add_subplot(111)
# 绘制曲线
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
ax.plot(x, y)
# 创建一个 Matplotlib FigureCanvas 对象,并将 Figure 对象作为参数传入
canvas = FigureCanvas(fig)
# 设置 FigureCanvas 对象的大小策略为 QSizePolicy.Expanding
canvas.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
canvas.updateGeometry()
# 创建一个 QVBoxLayout 对象,并将 FigureCanvas 对象添加到其中
layout = QVBoxLayout()
layout.addWidget(canvas)
# 创建一个 QWidget 对象,并将 QVBoxLayout 对象设置为其布局
widget = QWidget()
widget.setLayout(layout)
# 将 QWidget 对象设置为 MainWindow 的中心窗口
self.setCentralWidget(widget)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
这个示例代码创建了一个 QMainWindow 对象,将一个绘制了曲线的 Matplotlib Figure 对象嵌入其中,并将 QMainWindow 对象显示在屏幕上。你可以根据自己的需要修改示例代码,以创建自己的曲线图。
阅读全文