Это дает график всех этих цен акций, нанесенных на график против даты.Если вы увеличите масштаб, все крошечные галочки имеют метки для дат.Я хотел уменьшить частоту тиков, чтобы они отображались только в месяце и году.Я пытался использовать локаторы и форматеры, но всякий раз, когда я добавляю их, все тики и метки тиков полностью исчезают.Все, что осталось на оси X, это метка оси X.
Есть ли какая-то проблема в том факте, что я извлекаю дату и использую ее для графика оси X для каждой новой серии цен на акции, которые я хочу построить?Любой совет будет принят во внимание.Я начинающий программист.
from iexfinance import get_historical_data
import pandas as pd
import matplotlib.pyplot as plt
def tester():
start_date = '20170828'
end_date = '20180828'
symbols =['GOOG', 'IBM', 'CRON']
for symbol in symbols:
f_temp = get_historical_data(symbol, start_date, end_date, output_format='pandas')
df_close = pd.DataFrame(f_temp['close'])
df_open = pd.DataFrame(f_temp['open'])
df_date_string =
pd.to_datetime(f_temp.index).strftime("%Y%m%d").astype(str)
df = pd.merge(df_open, df_close, on=df_date_string)
df.columns = ['date', 'open', 'close']
plt.legend(symbols)
plot_data(df)
plt.show()
return df
def normalize_data(df):
return df/df.ix[0, :]
def plot_data(df):
normalized = normalize_data(df['close'])
plt.plot(df['date'], normalized)
plt.title("Normalized close stock prices")
plt.xlabel("Dates")
plt.ylabel("Close prices")
plt.tight_layout()
if __name__ == "__main__":
df = tester()