使用 R 基础图形,我已经能够使用此脚本绘制由简单函数计算出的四条曲线的绘图:
I0 <- log(1)
I1 <- log(1/2)
b <- .1
d <- .01
d1 <- .014
curve(exp(I0 - b * x), 0, 50, col = "blue", lwd = 2)
curve(exp(d * x) - 1, 0, 50, add = TRUE, col = "orange", lwd = 2)
curve(exp(I1 - b * x), 0, 50, add = TRUE, lty = 2, col = "green", lwd = 2)
curve(exp(d1 * x) - 1, 0, 50, add = TRUE, lty = 2, col = "red", lwd = 2)
但是当尝试使用 ggplot2 和下面的脚本重现相同的情节时,我得到了一些奇怪的东西:
library(ggplot2)
I0 <- log(1)
I1 <- log(1/2)
b <- .1
d <- .01
d1 <- .014
base <- ggplot() + xlim(0, 50) +
geom_function(fun = function(x) exp(I0 - b * x), colour = "blue") +
geom_function(fun = function(x) exp(d * x), colour = "orange") +
geom_function(fun = function(x) exp(I1 - b * x), color = "green") +
geom_function(fun = function(x) exp(d1 * x), color = "red")
plot(base)
另外,我怎样才能改变线宽(大概使用geom_line())?
我知道这是一个愚蠢的问题,但是有人可以给我一些提示吗?
原因是你的功能不匹配。橙色和红色线上缺少
- 1
。 linewidth
将控制线宽。
ggplot() + xlim(0, 50) +
geom_function(fun = function(x) exp(I0 - b * x), colour = "blue", linewidth = 0.1) +
geom_function(fun = function(x) exp(d * x) - 1, colour = "orange", linewidth = 1.5) +
geom_function(fun = function(x) exp(I1 - b * x), color = "green") +
geom_function(fun = function(x) exp(d1 * x) - 1, color = "red")
或与
+ ggthemes::theme_base()