ggplot之多变量绘图

1. 普通plot

准备数据。

x<-seq(0,2*pi,0.05)
y<-sin(x)
z<-cos(x)
data<-data.frame(x,y,z)

plot:

plot(x,y)
lines(x,z)

可用其他参数设置线型,坐标轴标签等,但是图例绘制不方便。

2. 手动

DataSet1 <- data.frame(x, value=y, lab=rep("y", length(x)))
DataSet2 <- data.frame(x, value=z, lab=rep("z", length(x)))
DataSet <- rbind(DataSet1, DataSet2)
p <- ggplot(data=DataSet, aes(x, value, color=lab))
p + geom_line()

3. 改变aes中的y

ggplot(data, aes(x)) + geom_line(aes(y = y, colour = "below")) + 
  geom_line(aes(y = z, colour = "above"))

4. melt函数

library(reshape2)
data_c <- melt(data, id = "x")
p <- ggplot(data=data_c, aes(x, value, color=variable))
p + geom_line()

原文地址:https://www.cnblogs.com/dingdangsunny/p/12482067.html