[英]Plotting two lines in the same graph in ggplot2
我知道如何使用R的默认绘图功能进行绘图。 我如何与ggplot2中的以下R代码做相同的事情?
double <- function(x){
return(x^2)
}
triple <- function(x){
return(x^3)
}
xs <- seq(-3,3,0.01)
dou <- double(xs)
tri <- triple(xs)
plot(rep(xs, 2), c(dou, tri), typ="n")
lines(xs, dou, col="red")
lines(xs, tri, col="green")
使用ggplot2
时,无需在绘制之前应用这些函数。 您可以告诉ggplot2
使用您的函数。
library(ggplot2)
ggplot(as.data.frame(xs), aes(xs)) +
stat_function(fun = double, colour = "red") +
stat_function(fun = triple, colour = "green")
您可以使用stat_function
,但是由于您没有在基本图中使用curve
,因此我认为您正在使用geom_line
寻找一个简单的散点图。
ggplot2
与data.frame作为数据源一起使用。 例如:
dat <- data.frame(xs=xs,dou=dou,tri=tri)
library(reshape2)
library(ggplot2)
ggplot(melt(dat,id.vars='xs'),
aes(xs,value,color=variable))+
geom_line()
编辑
使用基本绘图,您可以使用curve
简化绘图:
curve(x^3,-3,3,col='green',n=600)
curve(x^2,-3,3,col='red',n=600,add=TRUE)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.