Я пытаюсь изменить ось х моих графиков на соответствующую datetime
. Я попытался ответить из: Изменение форматирования оси даты и времени в matplotlib , но, похоже, проблема с моим кодом.
Это оригинальный график. Используя этот код:
csv = 'Hydro.csv'
df = pd.read_csv(csv, header=None, names=['time', 'mwp', 'ppld', 'mwd', 'shts', 'tides', 'tan B', 'Lo', 'E', 'wind speed', 'wind gust', 'wind direction'])
fig = plt.figure(tight_layout=False)
gs = gridspec.GridSpec(5, 1)
ax1 = fig.add_subplot(gs[0, :])
ax1.plot(df['time'], df['ppld'], label = 'Peak Wave Period', linewidth = 1, color ='k')
ax1.set_ylabel ('Tp[s]', size = 10)
ax1.grid(True, ls='--')
plt.setp(ax1.get_xticklabels(), visible=True, rotation = 90)
Когда я начинаю корректировать тики, график не отображается должным образом:
csv = 'Hydro.csv'
df = pd.read_csv(csv, header=None, names=['time', 'mwp', 'ppld', 'mwd', 'shts', 'tides', 'tan B', 'Lo', 'E', 'wind speed', 'wind gust', 'wind direction'])
fig = plt.figure(tight_layout=False)
gs = gridspec.GridSpec(5, 1)
ax1 = fig.add_subplot(gs[0, :])
ax1.plot(df['time'], df['ppld'], label = 'Peak Wave Period', linewidth = 1, color ='k')
ax1.set_ylabel ('Tp[s]', size = 10)
ax1.grid(True, ls='--')
ax1.xaxis_date()
ax1.set_xticks(df['time'])
ax1.xaxis.set_major_formatter(mdates.DateFormatter("%M:%D"))
ax1.xaxis.set_minor_formatter(mdates.DateFormatter("%H"))
_=plt.xticks(rotation=45)
plt.show()
Я хочу показать 6-часовые интервалы и день / месяц.