我当前正在尝试嵌入图形,我正在使用QT设计器作为用户界面。
我读过here,但我仍然不明白如何从dataframe
创建图形,因为在该示例中,它们是根据随机数据创建的。另一个问题是我可以用来显示情节的QT设计器中的哪个Widget
import sys
import koneksi_rsam
import pandas as pd
from PyQt5 import QtCore, QtWidgets, uic
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.backends.backend_qt5agg import NavigationToolbar2QT as NavigationToolbar
import matplotlib.pyplot as plt
Ui_MainWindow, QtBaseClass = uic.loadUiType("datetime2.ui")
class MyApp(QtWidgets.QMainWindow):
def __init__(self):
super(MyApp,self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.pushButton.clicked.connect(self.GetDatetime)
self.ui.dateTimeEdit.setDateTime(QtCore.QDateTime.currentDateTime())
self.ui.dateTimeEdit.setDisplayFormat("yyyy-MM-dd hh:mm:ss")
def GetDatetime(self):
dt = self.ui.dateTimeEdit.dateTime()
dt_string = dt.toString(self.ui.dateTimeEdit.displayFormat())
data_rsam = koneksi_rsam.normalisasi(dt_string)
self.ui.textEdit.setText("Now : "+ str(dt_string))
model = DataFrameModel(data_rsam)
self.ui.tableView.setModel(model)
def plot(self):
dt = self.ui.dateTimeEdit.dateTime()
dt_string = dt.toString(self.ui.dateTimeEdit.displayFormat())
data_rsam = koneksi_rsam.normalisasi(dt_string)
if __name__ == "__main__":
app = QtWidgets.QApplication.instance()
if app is None:
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec())
因此,在函数plot
中,我正在使用data_rsam变量以dataframe
格式存储数据
我期望的绘图功能在这里,我可以使用python编译器打开,但我不知道如何在QT设计器中实现:
data_rsam.set_index('ss_time', inplace=True)
data_rsam.index = pd.to_datetime(graph.index)
data_rsam.plot(style='.-',marker='o')
import matplotlib.pyplot as plt
plt.show()