ggplot2

时间:2016-08-02 18:00:07

标签: r ggplot2

我猜这是一个非常简单的问题,但我无法找到答案。

让我们绘制一个包含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 = "")

1 个答案:

答案 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 = "")