所以我在ggplot中做了一个情节,它是一个条形图和一条线的组合,我想添加一个图例。我在R Cookbook中看到的关于ggplot中的传说的所有内容都涉及修改当你通过ggplot进行一种类型的绘图时推出的标准图例。 数据:
x=c(0:10)
y1=c(0,.5,1,1.5,2,2.5,3,3.5,4,4.5,5)
y2=append(c(1:5),c(6,8,10,12,14,16))
mydata=as.data.frame(cbind(x,y1,y2))
我现在正在做的电话是:
ggplot(data=mydata)+geom_bar(aes(x=x,y=y1,col=c1),stat="identity") +
geom_line(aes(x=x,y=y2,col=c2,group=1))
我完全可以将其作为两个图表来完成,但我更愿意用一个图表来完成。 问题是当只有一种类型的绘图时,图例会自动生成,但如果有两种类型的绘图则不会生成。我想知道是否有某种方法可以在那里有两种类型的传奇。有什么想法吗?
答案 0 :(得分:1)
此:
library(ggplot2)
set.seed(1492)
mydata <- data.frame(x=c(0:10),
y1=c(0,.5,1,1.5,2,2.5,3,3.5,4,4.5,5),
y2=c(1:5, c(6,8,10,12,14,16)),
c1=sample(1:4, 11, replace=TRUE),
c2=sample(letters[1:4], 11, replace=TRUE))
gg <- ggplot(data=mydata)
gg <- gg + geom_bar(aes(x=x, y=y1, fill=c1), stat="identity")
gg <- gg + geom_line(aes(x=x, y=y2, col=c2, group=1))
gg
工作正常:
你已经获得了所有映射美学的传奇。