我的挑战是在我已有的散点图上覆盖一个自定义线函数图,代码如下所示:
base_beta = results.params
X_plot = np.linspace(0,1,400)
g = sns.FacetGrid(data, size = 6)
g = g.map(plt.scatter, "usable_area", "price", edgecolor="w")
其中base_beta
只是一个常数,然后是一个系数。基本上,我想覆盖一个绘制y = constant + coefficient * x
线的函数
我试图用它覆盖一条线,但它不起作用。
g = g.map_dataframe(plt.plot, X_plot, X_plot*base_beta[1]+base_beta[0], 'r-')
plt.show()
当前散点图如下所示:
有人能帮我吗?
--尝试1
base_beta = results.params
X_plot = np.linspace(0,1,400)
Y_plot = base_beta [0] + base_beta[1]*X_plot
g = sns.FacetGrid(data, size = 6)
g = g.map(plt.scatter, "usable_area", "price", edgecolor="w")
plt.plot(X_plot, Y_plot, color='r')
plt.show()
产生相同的图形,但没有线条:
3条答案
按热度按时间vuktfyat1#
您可以只调用
plt.plot
在数据上绘制一条线。产生:
o3imoua42#
seaborn.relplot
或seaborn.regplot
),而不要直接使用seaborn.FacetGrid
*在
python 3.8.12
、pandas 1.3.3
、matplotlib 3.4.3
、seaborn 0.11.2
中进行测试示例数据和导入
将自定义线添加到散点图
将
sns.relplot
与.map
或.map_dataframe
组合使用sns.lineplot
)应用于图形级绘图的每个面。将
sns.scatterplot
与sns.lineplot
合并回归线到散点图
seaborn.lmplot
用于图形级回归图seaborn.regplot
绘制轴级回归图。sns.lmplot
的第一个字符sns.regplot
的第一个字符6ojccjat3#
你也可以在数据上叠加一个Seborn图,假设你有组成这条线的点(下面,我称它们为
x_pred
和y_pred
):然后,把它们都画在同一个轴上。