Я пытаюсь построить среднюю температуру за 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.
Как удалить пустое пространство?