Вот что я пытаюсь воссоздать в Seaborn (это было сделано с Matplotlib)
![enter image description here](https://i.stack.imgur.com/vAz0z.jpg)
Я вижу, что в Seaborn вы могли бы использовать regplot()
но это для точечных диаграмм. В любом случае, если я попытаюсь использовать его, он не будет работать, потому что x
равны datetime
, поэтому я сделал смесь Seaborn и Matplotlib, это работает, но мне это не нравится, я думаю, что должно быть лучший способ, только Seaborn.
x = range(0, len(hom.fecha))
plt.figure(figsize=(12, 9))
plt.style.use('fivethirtyeight')
chart = sns.lineplot(x='fecha', y='n', data=df,
hue='sexo', markers=True)
chart.set(title='Personas Migrantes', ylabel='# Personas', xlabel="Fecha")
# Linear regressions for each sex
z = np.polyfit(x, hom.n, 1)
p = np.poly1d(z)
plt.plot(hom.fecha, p(x), c="b", ls=":")
z = np.polyfit(x, muj.n, 1)
p = np.poly1d(z)
plt.plot(hom.fecha, p(x), c="r", ls=':')
Я получаю эту картинку:
![enter image description here](https://i.stack.imgur.com/Ik35X.jpg)
Что, на мой взгляд, гораздо приятнее, чем первый, но я просто не понимаю, как добавить линии тренда, используя только морского происхождения.
Есть идеи?
=== РЕДАКТИРОВАТЬ ===
Если Я использую regplot()
, он выдает исключение ...
sns.regplot(x="fecha", y="n", data=df)
Этот ... (он строит что-то, как точечная диаграмма, с точками)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-70-0f60957abc3f> in <module>
----> 1 sns.regplot(x="fecha", y="n", data=df)
blah blah blah
TypeError: unsupported operand type(s) for *: 'Timestamp' and 'float'