저는 Pypltlib 패키지를 사용하여 그래프를 생성하는 GUI 응용 프로그램에서 작업하고 있습니다. GUI 디자인에서는 PyQt5를 사용하고 있습니다. 이 응용 프로그램에서는 사용자가 줄에서 데이터를로드 한 다음 생성 단추를 누르면 처리 된 그래프가 생성됩니다. 이제는 그래프를 닫을 때 사용자가 새 데이터를로드하고 생성 단추, 그래프를 누르면 문제가 발생합니다 다시 표시되지 않습니다.버튼 클릭으로 Matplotlib을 사용하여 생성 된 그래프 업데이트
코드
import sys
from PyQt5.QtCore import QCoreApplication
from PyQt5.QtGui import *
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QPushButton
import numpy as np
import matplotlib.pyplot as plt
fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True)
plt.subplots_adjust(hspace=0)
class window(QMainWindow):
def __init__(self):
super(window, self).__init__()
self.setGeometry(50, 50, 100, 100)
self.setWindowTitle('Generate Graph')
self.home()
def home(self):
btn = QPushButton('Generate', self)
btn.clicked.connect(self.generate_graph)
#btn.resize(100, 100)
#btn.move(100, 100)
self.show()
def generate_graph(self):
# In real application these points gets updated
x = [0,1,2,3,4,5,6,7,8,9]
y1 = [0,1,2,3,4,5,6,7,8,9]
y2 = [0,1,2,3,4,5,6,7,8,9]
ax1.plot(x,y1)
ax2.plot(x,y2)
plt.show()
def run():
app = QApplication(sys.argv)
Gui = window()
sys.exit(app.exec_())
run()
그래서 내가 버튼을 만들어 두 개의 플롯을 생성이에, 내 문제를 보여줄 수있는 샘플 프로그램을 게시하고있다. (참고 :이 두 가지 subplots, 나는 인접한 축에 ylabel 쓸 필요가 있기 때문에 나는 그것을 변경할 수없고이 같은 있어야합니다) 두 subplots 만들었습니다.
내가 생성 한 버튼을 클릭하면 그래프가 생성됩니다. 그래프를 닫은 다음 생성 버튼을 다시 눌렀지만 다시 생성되지 않았습니다. 이 문제를 해결하기 위해 추가 할 수있는 내용을 제안하십시오.
사용자가 생성 버튼을 누를 때마다 새 그래프를 생성 할 수 있습니까? 문제가 해결 될 것이라고 생각합니다. 사전에 제안하고 감사하십시오.
이 포럼에서이 주제로 검색해 보았지만 축 등을 지우는 것과 같은 여러 가지 시도를 해봤지만이 모든 것을 처음 접했을 때 내가 잘못 생각하고 있다고 생각합니다.
감사합니다. 이전에도 사용해 보았지만 다른 실수를 저 지르므로 저의 응용 프로그램이 충돌했습니다. 도와 주셔서 정말로 고맙습니다. –