在Pyqt5中使用数据框创建图

时间:2019-07-23 21:49:27

标签: python pyqt5 qt-designer

我当前正在尝试嵌入图形,我正在使用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()

0 个答案:

没有答案
相关问题