Код: Выделить всё
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
Код: Выделить всё
get_price_historyПодробнее здесь: https://stackoverflow.com/questions/790 ... -pyqtgraph