我的挑战是在我已有的散点图上覆盖自定义线函数图,代码如下所示:
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()
导致相同的图形但没有线:
最佳答案
您只需调用 plt.plot
即可在数据上绘制一条线。
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
data = pd.DataFrame()
data['usable_area'] = 5*np.random.random(200)
data['price'] = 10*data['usable_area']+10*np.random.random(200)
X_plot = np.linspace(0, 7, 100)
Y_plot = 10*X_plot+5
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()
产生:
关于python - 在散点图上叠加线函数 - seaborn,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46598371/