r - 如何将用户定义的二次方程绘制为散点图的叠加?
问题描述
我希望有人能建议我如何用特定方程绘制二次曲线,并设置 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 的叠加层。
解决方案
你可以用它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")
屈服
推荐阅读
- python-3.x - 当关键字被触发时,如何让机器人响应用户响应?
- python - 将整数除以列表
- python - 在 python 中使用 Fuzzymatcher 时如何确定截止值或阈值
- javascript - 如何在两个以上的画布中绘制 HTML 和 JS
- sql - 当天postgresql对应的item个数
- c - 十六进制值与 '\0' 的比较
- python - 为什么我在这个 pandas 数据框分配中丢失了 9 个值?
- python - Glob 不返回指定目录中的文件列表
- django - 使用 DJANGO_SETTINGS_MODULE 时如何导入设置?
- azure-devops - 无法使用自定义变量命名发布(yaml)管道