ggplot2 中的图例,删除级别
Legend in ggplot2, remove level
我的数据:
df <- data.frame(sp = c(LETTERS[1:8]),
tr = c("NS", "LS", "NS", "LS", "LS", "HS", "HS", "HS"),
bv = c(14, 5, 11, 5.6, 21, 5.4, 2, 4.8),
av = c(0.0, 14, 21, 48.4, 15, 55.6, 37, 66.2))
我画条形图
library(reshape2)
df1 <- melt(df, id.vars = c("sp", "tr"))
ggplot(aes(sp, value, fill = variable) , data = df1) + theme_classic() +
geom_bar(aes(lty = tr), lwd = 1.2, data = df1, stat = "identity", colour = "black", width =.8) +
theme(legend.position = "bottom" ) +
scale_linetype_discrete(name = "ja")
输出
我不喜欢的是传说。我只想使用第二部分“ja
”中的行类型并删除“variable
”部分。我想在图例框中使用白色背景,而不是灰色背景。
您可以通过在 guides
中设置 fill = FALSE
来删除 variable
图例,并在 guide_legend
中使用 override.aes
更改背景颜色(也在 guides
) 如下:
ggplot(df1, aes(sp, value, fill = variable)) +
geom_bar(aes(lty = tr), lwd = 1.2, stat = "identity", colour = "black", width =.8) +
scale_linetype_discrete(name = "ja") +
guides(fill = FALSE,
lty = guide_legend(override.aes = list(lty = c('dotted', 'dashed', 'solid'),
fill = "white"))) +
theme_classic() +
theme(legend.position = "bottom")
这导致以下情节:
我的数据:
df <- data.frame(sp = c(LETTERS[1:8]),
tr = c("NS", "LS", "NS", "LS", "LS", "HS", "HS", "HS"),
bv = c(14, 5, 11, 5.6, 21, 5.4, 2, 4.8),
av = c(0.0, 14, 21, 48.4, 15, 55.6, 37, 66.2))
我画条形图
library(reshape2)
df1 <- melt(df, id.vars = c("sp", "tr"))
ggplot(aes(sp, value, fill = variable) , data = df1) + theme_classic() +
geom_bar(aes(lty = tr), lwd = 1.2, data = df1, stat = "identity", colour = "black", width =.8) +
theme(legend.position = "bottom" ) +
scale_linetype_discrete(name = "ja")
输出
ja
”中的行类型并删除“variable
”部分。我想在图例框中使用白色背景,而不是灰色背景。
您可以通过在 guides
中设置 fill = FALSE
来删除 variable
图例,并在 guide_legend
中使用 override.aes
更改背景颜色(也在 guides
) 如下:
ggplot(df1, aes(sp, value, fill = variable)) +
geom_bar(aes(lty = tr), lwd = 1.2, stat = "identity", colour = "black", width =.8) +
scale_linetype_discrete(name = "ja") +
guides(fill = FALSE,
lty = guide_legend(override.aes = list(lty = c('dotted', 'dashed', 'solid'),
fill = "white"))) +
theme_classic() +
theme(legend.position = "bottom")
这导致以下情节: