我想做一个线条图与自定义 colored颜色 和额外的VLINE自定义 colored颜色 也.
它运行得很好,只是我找不到从图例中删除VLINE组的方法.在判断了很多问题后,我只能得到show.legend=FALSE
个,但这并不是完全正确的.
这是我的MWE:
datn <- read.table(header=TRUE, text='
supp dose length
OJ 0.5 13.23
OJ 1.0 22.70
OJ 2.0 26.06
VC 0.5 7.98
VC 1.0 16.77
VC 2.0 26.14
')
datn$supp <- factor(datn$supp, levels=unique(datn$supp))
plot_palette <- c("indianred1","darkgoldenrod1")
vlines <- data.frame(xint = c(1,1.25,1.75), grp = LETTERS[1:3], clr = c("lightskyblue1","cadetblue2","cyan4"))
plot_palette <- c(plot_palette, vlines$clr)
#
P <- ggplot2::ggplot(datn, ggplot2::aes(x=dose, y=length, color=supp)) +
ggplot2::geom_line(linetype = 1, linewidth = 1.75) +
ggplot2::geom_vline(data=vlines, ggplot2::aes(xintercept=xint, color=grp), linetype=4, linewidth=2.25, show.legend = FALSE) +
ggplot2::scale_color_manual(values=plot_palette) +
ggplot2::theme_light()
P
grDevices::dev.off()
这将产生:
为清楚起见,我只想从图例中删除组A
、B
、C
.
我甚至不明白为什么他们显示在那里摆在首位,因为他们不是supp
级,我明确指定show.legend=FALSE
为geom_vline
.有人能解释吗?