Seaborn: Как добавить второй уровень надписей на оси X - PullRequest
0 голосов
/ 15 мая 2019

Мне нужно построить временной ряд. Даты по оси X и значения по оси Y, но мне также нужно указать день недели по оси X.

ax = sns.lineplot(x='date', y='value', data=df)

Я ожидаю, что смогу добавить день недели (еще один столбец из df) по оси X. пример с Excel

1 Ответ

0 голосов
/ 16 мая 2019

Вы можете попытаться сделать это, добавив вторую ось X. Ниже приведен код, который вам понадобится для адаптации к вашей проблеме. Я думаю, есть лучшие способы сделать это, но это должно сработать.

x = np.arange(1000)
x2 = np.arange(1000)*2
y = np.sin(x/100.)

fig = plt.figure()

ax = plt.subplot(111)
sns.lineplot(x, y)
plt.xlim(0, 1000)
ax.xaxis.set_major_locator(MultipleLocator(200))

ax2 = ax.twiny()
sns.lineplot(x2, y, visible=False)
plt.xlim(0, 2000)
ax2.xaxis.set_major_locator(MultipleLocator(400))
ax2.spines['top'].set_position(('axes', -0.15))
ax2.spines['top'].set_visible(False)
plt.tick_params(which='both', top=False)

Полученное изображение из этого кода здесь: https://i.stack.imgur.com/lniqG.png

...