Как изменить частотность на оси с датами на графиках Seaborn?

Всем привет! Подскажите, пожалуйста, как изменить частотность меток на оси X c датами на линейном графике lineplot Seaborn? Например, если я хочу, чтобы отображались даты каждые 5/10/20/etc дней, а не ежедневно. Возможно ли осуществить это посредством использования Seaborn или Matplotlib?


Ответы (1 шт):

Автор решения: strawdog

Это можно сделать с помощью изменения множителя локаторов:

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import seaborn as sns
import numpy as np

df = pd.DataFrame(np.random.randint(100, size=152), index = pd.date_range(start="2024.01.01", end="2024.05.31", freq="D"))
ax = sns.lineplot(data=df,x=df.index, y=0)
ax.xaxis.set_major_locator(ticker.MultipleLocator(15)) # здесь
ax.tick_params(axis='x', rotation=45)
plt.tight_layout()

plt.show()

введите сюда описание изображения

соответственно, если поменять, например, 15 на 45

ax.xaxis.set_major_locator(ticker.MultipleLocator(55))

получим:

введите сюда описание изображения

→ Ссылка