Ok heres round 2 поблагодарить ребят за помощь в решении предыдущей проблемы, но я вернулся к тому, к чему я начал, к сожалению. Все это произошло, когда я попытался добавить строку к этому графику. Входящие данные представляют собой список, поступающий из другой программы. Для целей тестирования у меня есть другая программа, которая выплюнула [100, 110]. Я хочу 100 для одной строки и 110 для другой. В конце концов это будут входящие данные от Arduino, которые будут представлять собой данные в реальном времени. Я продолжаю получать эту ошибку.Проблема с графикой на Python 2
AttributeError Traceback (most recent call last)
/Users/Tyler/Desktop/Arduino/Graphing_22.py in on_redraw_timer(self, event)
284 #self.data.extend(self.datagen.next())
285
--> 286 self.draw_plot()
287
288 def on_exit(self, event):
/Users/Tyler/Desktop/Arduino/Graphing_22.py in draw_plot(self)
240 visible=self.cb_xlab.IsChecked())
241
--> 242 self.plot_data.set_xdata(np.arange(len(self.data[0])))
243 #self.plot_data.set_xdata(np.arange([1,1000])
244 self.plot_data.set_ydata(np.array(self.data[1]))
AttributeError: 'list' object has no attribute 'set_xdata'
Вот код для входящих данных и где ошибка возникает.
def __init__(self):
wx.Frame.__init__(self, None, -1, self.title)
self.datagen = DataGen()
self.data = self.datagen.next()
#splitting data at '
#self.data = [self.datagen.next().split(",")
self.paused = False
if self.cb_grid.IsChecked():
self.axes.grid(True, color='gray')
else:
self.axes.grid(False)
# Using setp here is convenient, because get_xticklabels
# returns a list over which one needs to explicitly
# iterate, and setp already handles this.
#
pylab.setp(self.axes.get_xticklabels(),
visible=self.cb_xlab.IsChecked())
self.plot_data.set_xdata(np.arange(len(self.data[0])))
#self.plot_data.set_xdata(np.arange([1,1000])
self.plot_data.set_ydata(np.array(self.data[1]))
self.canvas.draw()
Спасибо за помощь, ребята!
Как вы определяете 'self.plot_data'? –
self.plot_data = self.axes.plot ( self.data [0], ширина линии = 1, цвета = (1, 1, 0), ) #adding линии на участок self.plot_data = self.axes.plot ( self.data [1], ширина линии = 1, color = (1, 2, 0),) –
Вы можете написать свой заголовок вопроса более наглядно? 2 – tacaswell