Вы используете поплавок по оси X. Для морского родителя нормально предположить, что данные являются числовыми, а не категориальными.
Если вы хотите сохранить даты как числа с плавающей точкой (в данном случае, кстати, строки более корректны), вы можете легко это исправить, установив свойство x_ticks и передав ему столбец YearMth
как ax.set_xticks([0,2,4,6])
.
Однако этим свойством управляет не seaborn, а базовый пакет matplotlib.pyplot
. Таким образом, вам нужно будет немного изменить свой код, чтобы выставить объект subplot
и затем передать его в seaborn.
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
data = [(10, 1), (11, 2), (12, 3), (1000, 4)]
data = pd.DataFrame.from_records(data=data, columns=['x', 'y'])
fig, ax = plt.subplots(figsize = (12,6))
ax.set_title("Plot with controlled ticks")
ax.set_ylabel("Mode data")
ax.set_xlabel("X values with good ticks")
ax.set_xticks(range(0,len(data['x'])))
ax.set_xticklabels(list(data['x']), rotation=45)
rel_plot = sns.relplot(ax=ax, data=data, height=5, aspect=1.5)
Приведенный выше код даст вам ожидаемый результат:
В целом, вспомогательные участки дают вам очень точный контроль над визуализацией отображаемых данных ( Вы можете посмотреть полный subplot
API здесь ).