Как масштабировать 2 набора данных с разным количеством точек данных в одну диаграмму? - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь построить два набора данных на одном графике, но у меня возникают проблемы. Первый набор данных содержит 732 точки данных и 2 типа данных (Timeseries и float), а второй набор данных содержит 504 точки данных и 2 типа данных. У меня огромные проблемы с масштабированием любого из наборов данных, чтобы они хорошо смотрелись вместе на одном графике. Я продолжаю получать ValueError, x and y must have same first dimension, but have shapes (732, 1) and (504, 1). Вот мой код:

# ------ Benchmark Data
# ------ S&P 500 Adjusted-Closing Info
IXIC = wb.DataReader(
    '^IXIC', data_source = 'yahoo', start = '08-05-2018', end = '08-05-2020')['Adj Close'].to_frame()


# ------ Client's Data
file_name = '/Users/X/Desktop/CharlesSchwab.Client.PV.csv'
Client_Data = pd.read_csv(file_name)

# ------ Date Info
Client_Data['Date'] = pd.to_datetime(Client_Data['Date'])
Dates = pd.date_range(min(Client_Data["Date"]), max(Client_Data["Date"]))
df_Dates = pd.DataFrame(Dates).iloc[::-1]
df_Dates.columns = ['Dates']

# ------ Personal Value Info
PV = pd.DataFrame(Client_Data["Personal Value"].str.replace('$','').str.replace(',','').astype(float))

# ------ Plot data
t = df_Dates
data1 = PV
data2 = IXIC

fig, ax1 = plt.subplots()

color = 'tab:red'
ax1.set_xlabel('time')
ax1.set_ylabel('exp', color=color)
ax1.plot(t, data1, color=color)
ax1.tick_params(axis='y', labelcolor=color)

ax2 = ax1.twinx()  

color = 'tab:blue'
ax2.set_ylabel('sin', color=color)  
ax2.plot(t, data2, color=color)
ax2.tick_params(axis='y', labelcolor=color)

fig.tight_layout() 
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...