График Python - длина переданных значений равна x, индекс подразумевает y
Я пытаюсь построить некоторые сделки, которые я совершил, на графике BTC. Я не могу нанести на график BTC свои входы покупки и выходы продажи, потому что значения, переданные для оси x, отличаются? Если это проблема, я должен сопоставить их обоих с множеством дней, которые я провел? Я все еще изучаю Python, поэтому не знаю, как это сделать. Я много чего пробовал, но не знаю, связана ли ошибка с форматом даты? или длина массива и как я могу заставить массивы использовать одни и те же даты.. Я также пытался построить buySide и SellSide на одном и том же графике, но он покажет мне график с двумя разными осями x.
Вот мой код:
with open('trades.csv', mode='r') as csv_file:
reader = csv.DictReader(csv_file)
buySide = []
date = []
sellSide = []
date2 = []
for row in reader:
if row['market'] == 'BTC-PERP' and row['side'] == 'buy':
buySide.append(float(row['price']))
date.append(row['time'].split("T")[0])
elif row['market'] == 'BTC-PERP' and row['side'] == 'sell':
sellSide.append(float(row['price']))
date2.append(row['time'].split("T")[0])
green = plt.scatter(date, buySide, c = 'green')
red = plt.scatter(date2, sellSide, c="red")
pair = 'BTC-PERP'
# Load OHLCV (open/high/low/close/volume) data with 4H resolution
ohlcv = ftx.fetch_ohlcv (pair, '1h')
# Get closing prices for each day
prices = [x[4] for x in ohlcv]
# Convert Unix timestamps to Python dates
dates = [datetime.fromtimestamp (x[0] // 1000) for x in ohlcv]
# Prepare a Pandas series object
data = pd.Series (prices, index=dates)
# plot buy side on btc chart
data2 = pd.Series(buySide, index=dates) #error here
# Draw line chart
data.plot()
data2.plot()
и ошибка:
raise ValueError(
301 "Length of passed values is {val}, "
--> 302 "index implies {ind}".format(val=len(data), ind=len(index))
303 )
304 except TypeError:
ValueError: Length of passed values is 24, index implies 1500