Sou*_*dra 4 plot r legend ggplot2
我想在 [-0.25, 0.25] 范围内绘制 y=log(1+x) 和 y=x。到目前为止,这是我的代码 -
library(ggplot2)
log1plusx <- function(x) log(1+x)
self <- function(x) x
ggplot(data.frame(x=c(-0.25, 0.25)), aes(x=x)) + stat_function(fun=log1plusx, color="red") + stat_function(fun=self, color="blue")
Run Code Online (Sandbox Code Playgroud)
我不知道如何为这两行添加图例。尝试使用guide_legend,但到目前为止没有任何效果。
有任何想法吗?
部分答案:
ggplot(data.frame(x=c(-0.25, 0.25)), aes(x=x)) +
geom_path(aes(colour="red"), stat="function", fun=log1plusx)+
geom_path(aes(colour="blue"), stat="function", fun=self) +
scale_colour_identity("Function", guide="legend",
labels = c("log1plusx", "self"),
breaks = c("red", "blue"))
Run Code Online (Sandbox Code Playgroud)
尽管在我看来,在绘图之前最好构建一个 data.frame 。