this is equivalent to y = bx + (a - b * mean(var_1)) so I guess you could use the same code but change the intercept ?
set.seed(1237)
library(ggplot2)
n <- 30
mean_of_var_1 = 37
a <- rnorm(n, 37, 1)
b <- rnorm(n, 0, .6)
test_tbl <- tibble::tibble(
a_intercept = a,
b_slope = b)
ggplot(test_tbl) +
geom_abline(intercept = a - b*mean_of_var_1,
slope = b) +
ylim(c(0,100)) +
xlim(c(0,100)) +
labs(
x = "var_1",
y = "var_2"
)

Created on 2019-12-09 by the reprex package (v0.3.0)
Is this what you want ?
Also, know that ggplot2::stat_function allows you to plot function