在以下示例数据中,如何在带有y的图例中显示abline(即红色线)。 我的代码和数据:
x<-c(1990,1991,1992,1993,1994,1995)
y<-c(400,500,465,450,550,555)
df<-data.frame(x,y)
df
plot1<- ggplot(df, aes(x)) +
geom_line(size=0.5,lty="dashed", aes(y=y),color="Blue") +
geom_abline(aes(slope=-0.62,intercept=1670,colour="break"),size=0.9)+
geom_point(aes(y=y,shape="y"),size=4, color="Gray24",fill="Green")
plot1
。 我得到的是下面的图片。我需要在传奇
中显示红线答案 0 :(得分:4)
您可以使用show_guide=TRUE
参数:
plot1<- ggplot(df, aes(x)) +
geom_line(size=0.5,lty="dashed", aes(y=y),color="Blue") +
geom_abline(aes(slope=-0.62,intercept=1670,colour="break"), size=0.9,show_guide = TRUE)+
geom_point(aes(y=y,shape="y"),size=4, color="Gray24",fill="Green")
您可能需要更改图例中的标签,但您应该可以使用theme
进行更改。
修改:要从图例中删除斜杠,您可以使用guides
和override.aes
:
plot1 <- ggplot(df, aes(x, y)) +
geom_point(aes(shape = "y"), size = 4, color = "Gray24", lty = 0) +
geom_line(size = 0.5, lty = "dashed", color = "Blue") +
geom_abline(aes(slope = -0.62, intercept = 1670, colour = "break"), size = 0.9,
show_guide = TRUE) +
guides(shape = guide_legend(override.aes = list(linetype = 0)))