使用pyqt6画一个正态分布的图
时间: 2023-07-20 18:12:03 浏览: 50
可以使用Python的科学计算库NumPy和绘图库Matplotlib来画正态分布图,并使用PyQt6将其显示在界面上。以下是一个简单的示例代码:
```python
import sys
import numpy as np
from matplotlib.backends.backend_qt6agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
from PyQt6.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个 Matplotlib 图形对象
fig = Figure()
# 在图形对象中添加一个子图
ax = fig.add_subplot()
# 生成正态分布数据
x = np.linspace(-5, 5, 1000)
y = 1 / np.sqrt(2 * np.pi) * np.exp(-x ** 2 / 2)
# 在子图中绘制正态分布曲线
ax.plot(x, y)
# 创建一个 Matplotlib 画布对象并将图形对象添加到其中
canvas = FigureCanvas(fig)
# 创建一个垂直布局并将画布添加到其中
layout = QVBoxLayout()
layout.addWidget(canvas)
# 创建一个 QWidget 并将布局添加到其中
widget = QWidget()
widget.setLayout(layout)
# 将 QWidget 设置为主窗口的中心部件
self.setCentralWidget(widget)
if __name__ == '__main__':
app = QApplication(sys.argv)
# 创建主窗口并显示
main_window = MainWindow()
main_window.show()
sys.exit(app.exec())
```
运行代码后,将会显示一个包含正态分布曲线的窗口。