我希望有人可以建议我如何绘制具有特定方程式的二次曲线,并设置x,y轴。我正在使用ggplot
创建散点图,并使用geom_point
绘制了一些单独的数据点,并将轴指定为:
+ coord_cartesian(xlim = c(2, 7)) +
scale_x_continuous(breaks=seq(2, 7, 1)) +
coord_cartesian(ylim = c(0.40, .54)) +
scale_y_continuous(breaks=seq(.40, .54, 0.02))
我还指定了我的数据:ggplot(data= data, aes(x=years,y=metric1))
我想绘制一个二次曲线以用特定的公式(例如y = 0.4 + .025x -.002x^2
)覆盖在我的绘图上。在某些情况下,我希望绘制两个或三个不同的二次曲线。我希望有人可以帮助我如何创建曲线作为覆盖图,或者可以如何绘制具有这些特定x和y轴的方程,然后将其用作R之外的覆盖图。
答案 0 :(得分:1)
您可以使用stat_function()
绘制此曲线。
library(ggplot2)
ggplot(data.frame(x=c(0, 10)), aes(x)) +
stat_function(fun=function(x) 0.4 + .025*x - .002*x^2) +
coord_cartesian(xlim = c(2, 7), ylim = c(0.40, .54)) +
scale_x_continuous(breaks=seq(2, 7, 1)) +
scale_y_continuous(breaks=seq(.40, .54, 0.02))
屈服
您也可以轻松添加叠加层。
示例
ggplot(data = iris, aes(x = Sepal.Width, y = Sepal.Length)) +
geom_jitter() +
stat_function(fun=function(x) 2.5 + 2.4*x - .5*x^2) +
stat_function(fun=function(x) 2 + 2.4*x - .5*x^2, color="red")
屈服