Как правильно добавить ось даты в pyqtgraph? ⇐ Python

Программы на Python
Anonymous
Как правильно добавить ось даты в pyqtgraph?

Сообщение Anonymous »

код:

Код: Выделить всё

        self.graph = pg.PlotWidget(self)
self.graph.setBackground("w")
self.graph.showGrid(x=True, y=True)
pen = pg.mkPen(color=(90, 169, 240),  width=5)
self.graph.setYRange(0, 1000)
self.plot = self.graph.plot(
[],
[],
pen=pen,
symbol='o',
symbolSize=4,
symbolBrush="b",
)

self.widgets.append(self.graph)

def optimize_view(self):
self.graph.setGeometry(6, 0, self.width(), self.height() - 50)

def setup_graph(self, sym):
if sym != 'USDT':
try:
data = self.get_price_history(self.parent().valute, self.time_frame)
except:
self.plot.setData([], [])
else:
pass
new_date = datetime.now() - timedelta(len(data) - 1)

res = pd.date_range(min(new_date, datetime.now()),max(new_date, datetime.now())).tolist()
res = [datetime.timestamp(i) for i in res]
axis_res = pd.date_range(min(new_date, datetime.now()),max(new_date, datetime.now())).strftime('%d.%m.%Y').tolist()
self.graph.setYRange(min(data), max(data))
self.graph.setXRange(min(res), max(res))
print(len(res), len(data))

date_axis = pg.graphicsItems.DateAxisItem.DateAxisItem(orientation = 'bottom')
self.graph.setAxisItems(axisItems = {'bottom': date_axis})

self.plot.setData(res, data)

def get_price_history(self, symbol, timeframe):
exchange = ccxt.binance()

data = exchange.fetch_ohlcv(f'{symbol}/USDT', timeframe)

prices = [candle[3] for candle in data]

return prices
У меня есть нижняя ось со значениями дат-дельта. Мне нужно заменить его строковыми датами в формате «%d.%m.%Y». Что я должен делать? Я не понимаю, как работают текстовые оси. Нижняя ось self.graph должна содержать только str-даты.

Код: Выделить всё

get_price_history
возвращает список значений с плавающей запятой.

Подробнее здесь: https://stackoverflow.com/questions/790 ... -pyqtgraph

Вернуться в «Python»