python matplotlib根据坐标画图 pyqt5
时间: 2023-10-17 11:19:25 浏览: 58
这个任务需要使用Python的matplotlib和pyqt5库。下面是一个基本的示例代码,可以根据给定的坐标绘制一个简单的图形。
```
import matplotlib.pyplot as plt
from PyQt5.QtWidgets import QApplication, QMainWindow
from PyQt5.QtCore import Qt
class MyWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('My Window')
self.setGeometry(100, 100, 800, 600)
# 创建一个matplotlib的Figure对象
self.fig = plt.figure(figsize=(6, 6), dpi=100)
# 在Figure对象中添加一个Axes对象
self.ax = self.fig.add_subplot(111)
# 绘制图形
x = [1, 2, 3, 4, 5]
y = [3, 5, 2, 7, 4]
self.ax.plot(x, y)
# 将Figure对象显示在窗口中
self.canvas = FigureCanvas(self.fig)
self.setCentralWidget(self.canvas)
self.show()
if __name__ == '__main__':
app = QApplication([])
window = MyWindow()
app.exec_()
```
在这个代码中,我们创建了一个继承自QMainWindow的窗口类MyWindow。在MyWindow的构造函数中,我们首先设置了窗口的标题和大小。然后,我们创建了一个matplotlib的Figure对象,并在其中添加了一个Axes对象。我们使用plot函数绘制了一个简单的图形,并将Figure对象显示在窗口中。最后,我们启动了应用程序的事件循环。
需要注意的是,我们必须使用Qt中的FigureCanvas类将matplotlib的Figure对象嵌入到PyQt5的窗口中。此外,我们需要确保我们在主线程中运行应用程序的事件循环,否则可能会出现一些奇怪的问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)