Указывает сюжет c даты в Matplotlib - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь построить среднюю температуру за 3 месяца (январь, февраль и декабрь 2017 года), где x обозначает каждый день месяца (тип данных datetime64 [нс]). число х 90, поэтому у меня 90 дат. Ниже мой код:

import matplotlib.pyplot as plt
from datetime import datetime
from matplotlib import dates as mpl_dates
date_format=mpl_dates.DateFormatter('%B')

#convert data to datetime.objects
x_dates.loc[:,["YEAR","DAY","MONTH"]]=x_dates.loc[:,["YEAR","DAY","MONTH"]]
x_dates1=pd.to_datetime(x_dates)
x_dates1=pd.DataFrame({"DATE":x_dates1}

#take the mean temperatures
ymean_winter=np.array(Winter["TEMP"])

#create and format figure
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot_date(x_dates1['DATE'],ymean_winter,linestyle='solid')
fig.autofmt_xdate()
plt.gca().xaxis.set_major_formatter(date_format)
plt.show()

Как только я кодирую вышеупомянутое, я получаю следующее:

Средняя температура зимой 2017

Проблема в том, что я получаю этот интервал, которого у меня нет sh (с марта 2017 года по ноябрь 2017 года). Если я преобразую даты в строки, у меня не возникнет проблемы, но тогда я столкнусь с проблемой удаления х-тиков, поскольку у меня слишком много х-тиков, чтобы они перекрывали друг друга, и я не могу различить даты или увеличить рисунок, подобный fig = plt.figure (figsize = (35,35)), чтобы увидеть каждую точку x.

Как удалить пустое пространство?

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