Как можно уменьшить частоту тиков по оси X в Python при построении нескольких групп значений на одной оси? - PullRequest
0 голосов
/ 12 сентября 2018

Это дает график всех этих цен акций, нанесенных на график против даты.Если вы увеличите масштаб, все крошечные галочки имеют метки для дат.Я хотел уменьшить частоту тиков, чтобы они отображались только в месяце и году.Я пытался использовать локаторы и форматеры, но всякий раз, когда я добавляю их, все тики и метки тиков полностью исчезают.Все, что осталось на оси 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...