我猜这是一个非常简单的问题,但我无法找到答案。
让我们绘制一个包含4列的示例数据集。我想在同一个图上绘制两个不同的点,因此具有不同的美学,并且有一个列图例根据它们各自的颜色描述它们。
library(ggplot2)
set.seed(10)
ex <- data.frame("a" = c(1:100), "b" = rnorm(100),
"c" = seq(50, 249, 2), "d" = rnorm(100))
plot_ex <- ggplot(ex, aes(a, b)) +
geom_point(colour = "dodgerblue", cex = 2) +
geom_point(aes(x = c, y = d), colour = "firebrick3", cex = 2) +
theme_classic() +
labs(x = "X axis", y = "Y axis")
plot_ex
我尝试添加scale_color_manual
行,但我可能编写错了:
plot_ex +
scale_color_manual(values = c("dodgerblue", "firebrick3"), label = c("first", "second"), name = "")
答案 0 :(得分:0)
我相信ggplot只会根据aes中的内容创建一个图例。因此,您可以将颜色移动到每个geom_point的美学中,然后在scale_colour_manual中重新标记它们。
plot_ex <- ggplot(ex) +
geom_point(aes(x = a, y = b,colour = "dodgerblue"),cex = 2) +
geom_point(aes(x = c, y = d,colour = "firebrick3"), cex = 2) +
theme_classic() +
labs(x = "X axis", y = "Y axis")
plot_ex +
scale_colour_manual(values = c("dodgerblue", "firebrick3"), label = c("first", "second"), name = "")