python - 使用 PyQt5 更新嵌入式 matplotlib
问题描述
我需要帮助尝试更新我在 pyqt5 上的嵌入式 matplotlib。我尝试了.clear()
, .draw()
,但我的应用程序上出现了空白画布。我确信我的语法有问题。下面是我的代码:
class MplCanvas(FigureCanvasQTAgg):
def __init__(self, parent=None, width=5, height=4, dpi = 100):
fig = Figure(figsize=(width, height), dpi=dpi)
self.axes = fig.add_subplot(111, position=[0.15, 0.15, 0.75, 0.75])
super(MplCanvas, self).__init__(fig)
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.eosCombo.addItems(self.getEoS())
self.ui.componentCombo.addItems(self.getComponents())
self.ui.variablesSubmitButton.clicked.connect(self.submitVarButFunc)
self.ui.resultsSubmitButton.clicked.connect(self.goalSeek)
def graphIt(self,x,y):
sc = MplCanvas(self, width=5, height=4, dpi=100)
sc.axes.clear()
sc.axes.plot(x, y)
sc.axes.draw()
sc.axes.set_xlabel('ρ (mole/$m^{3}$)')
sc.axes.set_xlim(left = 0)
sc.axes.grid(b=True, which = 'major')
toolbar = NavigationToolbar2QT(sc, self)
lay = QtWidgets.QVBoxLayout(self.ui.mplWidget)
lay.addWidget(toolbar)
lay.addWidget(sc)
self.show()
# def graphIt_Clear(self):
# self.sc.axes.cla()
# self.sc.draw()
解决方案
推荐阅读
- spring - 引起:javax.persistence.NonUniqueResultException:查询没有返回唯一结果:2 用于保存数据
- cron - 将上一份工作的状态传递给阿兹卡班的下一份工作
- reactjs - 反应店面类型错误:无法读取未定义的属性“_includeAppData”
- python-3.x - 条纹卡字段在实时模式下未正确显示
- ios - 如何为具有动态类型和固定宽度的 UICollectionViewCell 制作动态高度?
- css - 有什么方法可以建议将新功能添加到 CSS 中吗?
- jquery - jQuery:使用来自另一个元素的文本创建元素
- laravel - Laravel 返回带有文件 css、js、图像的 html 页面
- django - 使用基于类的视图和 forms.py 进行 Django 简单搜索
- flutter - 在 ByteData 中设置的十六进制值(0x21AF)飞镖颤振