Как очистить данные после того, как я использую PlotWidget.plot () в pyqt5? - PullRequest
1 голос
/ 30 апреля 2020

Мой код:

class Ui_Registos2(object):
    def setupUi(self, Registos2, Info):

        self.Grafico_2 =  pg.PlotWidget(self.centralwidget)
        self.Grafico_2.setGeometry(QtCore.QRect(540, 430, 501, 331))
        self.Grafico_2.setObjectName("Grafico_2")       

    def openfile(self):
        name = QFileDialog.getOpenFileName()
        filename = name[0]

       if len(filename) <=0:
           return
       try:            
           self.Info.file = open(filename, 'r')

       except NameError:          
           return

       self.Info.df = pd.read_excel(filename, sheet_name='Tabela', encoding="utf-8")

       i = 0
       items = []

        # TABLE HEADER
       for field in self.Info.df.columns:
           items.append(QtGui.QStandardItem(field))

       self.model.appendRow(items)        
       n = [] # CADA LINHA DA TABELA        
       while i<len(self.Info.df):

           linha2 = self.Info.df.loc[i] 
           n = []
           for item in linha2:
               print(item)
               n.append(QtGui.QStandardItem(str(item))) 

           self.model.appendRow(n) 
           i+=1 
           #FIRST GRAPH              
           self.y =self.Info.df.loc[:,'%']
           self.x =self.Info.df.loc[:,'t']

           pen = pg.mkPen(color=(255, 0, 0))
           self.data_line =  self.Grafico.plot(self.x, self.y, pen=pen)     
           self.plot = self.pw.plot(x, y, pen=None, symbol="o", symbolBrush="r")       

Поэтому каждый раз, когда я нажимаю кнопку «openfile», я хочу очистить существующие данные и заново построить новые, но PlotWidget переписать на существующем графике. Есть ли способ очистить данные?
Спасибо.

1 Ответ

0 голосов
/ 11 мая 2020

Вы можете очистить график с помощью plot.clear (). Я не могу проверить ваш пример, но это должно сработать:

self.Grafico.clear()
self.pw.clear()
...