У меня есть временной ряд для 5 различных переменных, которые я хотел бы построить тепловую карту. Для оси х я хотел бы, чтобы основные тики были каждый год, а второстепенные - каждые полгода Как вы можете видеть из MWE, даты по умолчанию ужасные, очень детализированные.
Для минимального рабочего примера:
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
test = pd.DataFrame(
data=[np.random.random(5) for x in range(365*3+366)],
index=pd.date_range('2014-01-01','2017-12-31',freq = 'D')
)
fig, ax = plt.subplots(figsize=(20,10))
ax = sns.heatmap(test.T > 0.5,cmap="Blues")
plt.show()
Я пытался использовать matplotlib.mdates.YearLocator
, добавив
years = mdates.YearLocator()
ax.axes.xaxis.set_major_locator(years)
до plt.show()
, но это просто стирает всю ось X в чистоте.
Извиняюсь, если на этот вопрос был дан ответ в другом месте, так как я уверен, что он, должно быть, был в каком-то формате или другом, но я не могу его найти.