как отобразить формат даты по оси x с помощью wxmplot - PullRequest
0 голосов
/ 18 октября 2019

Я строю график тренда в реальном времени, используя wxmplot. Однако я не смог найти способ отобразить данные оси X в формате даты и времени

. Я пробовал различные типы данных для x, такие как строка в формате даты yyyy-mm-dd HH:MM:SS, отметка времени и, наконец, * 1004. * и я установил use_date=True in plot(self.x, self.y, use_dates=True).

self.x = np.array([time()])
self.y = np.array([random.randint(0, 10)])

 self.panel_1 = PlotPanel(self, size=(400, 400))
 self.panel_1.plot(self.x, self.y, use_dates=True)

. В качестве данных для x используются time (), а на графике отображаются значения с плавающей запятой вместо формата даты, например '2019-10-17 12: 12: 00' . Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 21 октября 2019

Я изменил некоторые из моих кодов и plotpanel.py. По словам автора wxmplot, в plotpanel.py произошла ошибка опечатки, я изменил use_datas на use_dates в соответствии с последующим изменением.

self.x = np.array([time()-20, time()])
self.y = np.array([random.randint(0, 10), random.randint(0, 10)])

Это работает после всех этих изменений в функции plotи соответственно отображая формат даты.

Когда вам нужно обновить график в режиме реального времени, вам нужно сначала преобразовать данные оси x с использованием date.datet2num, прежде чем вызывать update_line.

self.x = np.append(self.x, [time()])
xdata=[dates.date2num(datetime.datetime.fromtimestamp(i)) for i in self.x]
self.y = np.append(self.y, [random.randint(0, 10)])
self.panel_1.update_line(0, xdata, self.y, draw=True)
...