Как отформатировать ось X для нескольких графиков в matplotlib - PullRequest
0 голосов
/ 31 мая 2019

В настоящее время я генерирую три разных фигуры, и у меня возникают проблемы при попытке установить формат для оси X для всех трех графиков.Это то, что у меня есть в настоящее время.

    fig, ax = plt.subplots()

    plt.figure(1)
    formatter = DateFormatter('%m/%d/%y')
    ax.xaxis.set_major_formatter(formatter)
    ax.xaxis.set_tick_params(rotation=30)
    plt.plot_date(dates1, y1)
    plt.show()

    plt.figure(2)
    formatter = DateFormatter('%m/%d/%y')
    ax.xaxis.set_major_formatter(formatter)
    ax.xaxis.set_tick_params(rotation=30)
    plt.plot_date(dates2, y2)
    plt.show()

    plt.figure(3)
    formatter = DateFormatter('%m/%d/%y')
    ax.xaxis.set_major_formatter(formatter)
    ax.xaxis.set_tick_params(rotation=30)
    plt.plot_date(dates3, y3)
    plt.show()

Первая фигура отформатирована по желанию, но вторая и третья фигура не могут обнаружить указанное форматирование по оси X.Как правильно это сделать, и есть ли способ установить форматирование для всех трех графиков одновременно?

1 Ответ

0 голосов
/ 31 мая 2019

Вы можете использовать plt.close () для отмены экземпляров графика.Или присвойте каждому свою собственную переменную.

    plt.figure(1)
    formatter = DateFormatter('%m/%d/%y')
    ax.xaxis.set_major_formatter(formatter)
    ax.xaxis.set_tick_params(rotation=30)
    plt.plot_date(dates1, y1)
    plt.show()
    plt.close()


    plt.figure(2)
    formatter = DateFormatter('%m/%d/%y')
    ax.xaxis.set_major_formatter(formatter)
    ax.xaxis.set_tick_params(rotation=30)
    plt.plot_date(dates2, y2)
    plt.show()
    plt.close()

    plt.figure(3)
    formatter = DateFormatter('%m/%d/%y')
    ax.xaxis.set_major_formatter(formatter)
    ax.xaxis.set_tick_params(rotation=30)
    plt.plot_date(dates3, y3)
    plt.show()
    plt.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...