大家下午好,我有一个关于ggplot2的问题。
这是我的问题的简化版本,我有一个带有四行的图形,每行都有一种颜色。
我的代码是:
library(ggplot2)
df=data.frame(x=1:20,
y=rep(1:5,4),
ind=c(rep(1,5),rep(2,5),rep(3,5),rep(4,5))
)
p=ggplot(data=df, aes(x=x,y=y,group=ind, colour=factor(ind))) +
geom_line() +
scale_colour_manual(name="",
values=c("blue4","green4","blue3","green3"),
labels=c("type1","type1","type2","type2"),
breaks=c("1","3","2","4"))
但是蓝线和绿线代表相同的特征,所以我想要一个只有两个框而不是四个框的图例:一个指的是蓝线,另一个指的是绿线。以下代码向您显示了一个带有我想要的图例的图形:
plot(x=1:5, y=1:5, col="blue4", type="l", xlim=c(0,20))
lines(x=6:10, y=1:5, col="green4")
lines(x=11:15, y=1:5, col="blue3")
lines(x=16:20, y=1:5, col="green3")
legend("topright", legend=c("type1","type2"), col=c("blue3","green3"), lty=c(1,1))
你可能会说我应该用经典的方式(即不使用ggplot2),但是我的真实案例技术更先进,因此我真的需要使用ggplot2(以便更容易控制其他图形参数)。
如果您看不到我的图形,我很抱歉。我想发布它们,但由于声誉点不足,我不能发布它们,如果您能帮助我,请提前感谢。梅尔