散景用图例标记斜坡
Bokeh labelling a slope with legend
我正在做一个简单的一维线性回归模型,并使用 Bokeh 绘制我的最佳拟合线作为斜率。问题是我想显示两行最佳拟合,一行来自 SKLearn,另一行来自我自己的梯度下降代码。我想用图例显示这些线条,但似乎无法弄清楚如何在散景中标记坡度。
我想继续使用坡度注释功能,因为它超出了数据范围。
如有任何帮助,我们将不胜感激。
# Here x is my x-data and y is my y-data
theta_GD = np.array([[-3.63029144],[ 1.16636235]]) # my fitting gradient descent parameters
theta_SK = np.array([[1.19303364],[-3.8957808783]]) # fitting parameters from SKLearn
fig = figure()
gradient_GD = theta_GD[1]
y_intercept_GD = theta_GD[0]
gradient_SK = theta_SK[1]
y_intercept_SK = theta_SK[0]
slope1 = Slope(gradient=gradient_GD, y_intercept=y_intercept_GD, line_color='red', line_width=2)
slope2 = Slope(gradient=gradient_SK, y_intercept=y_intercept_SK, line_color='blue', line_width=2)
fig.scatter(x,y)
fig.add_layout(slope1)
fig.add_layout(slope2)
show(fig)
我建议您将拟合线绘制为直线字形而不是坡度注释。例如:
m, b= 3,1
m1, b1 = 3.2, .8
x = np.linspace(-10,10,100)
data = m*x + b + np.random.normal(0,3,size=len(x))
y = m*x + b
y1 = m1*x+b1
fig = figure()
fig.line(x,y,legend_label='My Regression',color='green',line_width=2)
fig.line(x,y1,legend_label="Other Algorithm",color='red',line_width=2)
fig.scatter(x,data)
show(fig)
产生:
我正在做一个简单的一维线性回归模型,并使用 Bokeh 绘制我的最佳拟合线作为斜率。问题是我想显示两行最佳拟合,一行来自 SKLearn,另一行来自我自己的梯度下降代码。我想用图例显示这些线条,但似乎无法弄清楚如何在散景中标记坡度。
我想继续使用坡度注释功能,因为它超出了数据范围。
如有任何帮助,我们将不胜感激。
# Here x is my x-data and y is my y-data
theta_GD = np.array([[-3.63029144],[ 1.16636235]]) # my fitting gradient descent parameters
theta_SK = np.array([[1.19303364],[-3.8957808783]]) # fitting parameters from SKLearn
fig = figure()
gradient_GD = theta_GD[1]
y_intercept_GD = theta_GD[0]
gradient_SK = theta_SK[1]
y_intercept_SK = theta_SK[0]
slope1 = Slope(gradient=gradient_GD, y_intercept=y_intercept_GD, line_color='red', line_width=2)
slope2 = Slope(gradient=gradient_SK, y_intercept=y_intercept_SK, line_color='blue', line_width=2)
fig.scatter(x,y)
fig.add_layout(slope1)
fig.add_layout(slope2)
show(fig)
我建议您将拟合线绘制为直线字形而不是坡度注释。例如:
m, b= 3,1
m1, b1 = 3.2, .8
x = np.linspace(-10,10,100)
data = m*x + b + np.random.normal(0,3,size=len(x))
y = m*x + b
y1 = m1*x+b1
fig = figure()
fig.line(x,y,legend_label='My Regression',color='green',line_width=2)
fig.line(x,y1,legend_label="Other Algorithm",color='red',line_width=2)
fig.scatter(x,data)
show(fig)
产生: