Python 如何将趋势线添加到seaborn';s线图?

Python 如何将趋势线添加到seaborn';s线图?,python,matplotlib,data-visualization,seaborn,Python,Matplotlib,Data Visualization,Seaborn,下面是我试图在Seaborn中重新创建的内容(这是用Matplotlib完成的) 我看到在Seaborn中,您可以使用regplot(),但这是散点图。无论如何,如果我尝试使用它,它将不起作用,因为x是datetime,所以我混合了Seaborn和Matplotlib,它起作用,但我不喜欢它,我认为一定有更好的方法,只有Seaborn x = range(0, len(hom.fecha)) plt.figure(figsize=(12, 9)) plt.style.use('fivethi

下面是我试图在Seaborn中重新创建的内容(这是用Matplotlib完成的)

我看到在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=':')
我明白了:

我认为这比第一个更令人愉快,但我不知道如何仅使用seaborn添加趋势线

有什么想法吗

==编辑===

如果我使用
regplot()
它会抛出一个异常

sns.regplot(x="fecha", y="n", data=df)
这个。。。(它用点绘制一些东西,如散点图)

---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在里面
---->1 sns.regplot(x=“fecha”,y=“n”,data=df)
废话废话
TypeError:不支持*:“Timestamp”和“float”的操作数类型

我不明白你拿出来的绘图有什么问题。绘图还可以,但它是用seaborn和matplotlib编写的,颜色有点不协调。我想要像
sns.lineplot(x='fecha',y='n',data=df,hue='sexo',linearregression=True)
这就是
regplot
的用途(你不需要显示点)。由于seaborn仅使用matplotlib,因此每个seaborn绘图都是matplotlib绘图。颜色由
fivethirtyeight
样式决定(与seaborn无关),您只需获得与前几行相同的颜色即可。seaborn不支持将日期变量作为回归的输入,因此您必须以某种方式返回matplotlib。哦,错误告诉您不能将regplot与时间戳数据一起使用。您可以将时间戳转换为数字,进行回归绘图,然后为轴创建一个ticker和formatter。但这将比从一开始就使用matplotlib做的工作多得多。我不明白你得到的绘图有什么问题。绘图还可以,但它是用seaborn和matplotlib编写的,颜色有点不协调。我想要像
sns.lineplot(x='fecha',y='n',data=df,hue='sexo',linearregression=True)
这就是
regplot
的用途(你不需要显示点)。由于seaborn仅使用matplotlib,因此每个seaborn绘图都是matplotlib绘图。颜色由
fivethirtyeight
样式决定(与seaborn无关),您只需获得与前几行相同的颜色即可。seaborn不支持将日期变量作为回归的输入,因此您必须以某种方式返回matplotlib。哦,错误告诉您不能将regplot与时间戳数据一起使用。您可以将时间戳转换为数字,进行回归绘图,然后为轴创建一个ticker和formatter。但是,这将比从一开始就使用matplotlib做更多的工作。
---------------------------------------------------------------------------
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'