python график файла данных matplotlib (подплот) - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу построить график с временной областью в python. Мне удалось импортировать 1 файл, но 2 файла (или 3 файла). Когда два файла загружены, загружается только один график. Python слишком сложно. Нужна помощь

import sys
from os.path import basename
import numpy as np
from PyQt5.QtWidgets import *
import matplotlib.pyplot as plt
import obspy.signal.util as sig
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas
from obspy import read, UTCDateTime
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT as NavigationToolbar


class MyWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setupUI()

    def setupUI(self):
        self.setGeometry(100, 100, 1000, 700)
        self.setWindowTitle("TEST TITLE")

        self.pushButton = QPushButton("OPEN FILE")
        self.pushButton.clicked.connect(self.pushButtonClicked)

        self.fig = plt.Figure()
        self.canvas = FigureCanvas(self.fig)
        self.toolbar = NavigationToolbar(self.canvas, self)

        topLayout = QVBoxLayout()
        topLayout.addWidget(self.toolbar)
        topLayout.addWidget(self.canvas)

        bottomLayout = QHBoxLayout()
        bottomLayout.addWidget(self.pushButton)
        bottomLayout.addStretch(1)

        layout = QVBoxLayout()
        layout.addLayout(topLayout)
        layout.addLayout(bottomLayout)
        layout.setStretchFactor(topLayout, 1)
        layout.setStretchFactor(bottomLayout, 0)

        self.setLayout(layout)


    def pushButtonClicked(self):

        pathfile0, _  = QFileDialog.getOpenFileNames(self)

        if pathfile0:

            if len(pathfile0) == 1:

                fname = basename(pathfile0[0])
                data = read(fname)

                self.fig.clear()
                data.plot(fig=self.fig, label=fname)

                self.canvas.draw()
                self.canvas.show()


            elif len(pathfile0) == 2:
                fname = basename(pathfile0[0])
                fname1 = basename(pathfile0[1])

                data = read(fname)
                data1 = read(fname1)

                self.fig.clear()

                data[0].plot(fig=self.fig, label = data)
                data1[0].plot(fig=self.fig, label = data1)

                self.canvas.draw()
                self.canvas.show()

            else:
                QMessageBox.about(self, "Warning", "The files was not selected.")
        else:
            QMessageBox.about(self, "Warning", "SELECT FILES.")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MyWindow()
    window.show()
    app.exec_()

файл данных Ссылка (2 файла)

http://www.mediafire.com/file/rz35biab0fo71m5/KE2.TS.00.HGZ.2020.043/file http://www.mediafire.com/file/cprguyyb0l1o7ja/KE2.TS.00.BGZ.2020.043/file

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...