scale_color_manual为NA值定义多种颜色会导致多种颜色的线条

时间:2018-05-24 15:00:07

标签: r ggplot2 colors

我有数据,我想要绘制条形图和线图,使用与var2值相关的相同颜色方案。但是,var2有许多值偶尔会出现。而不是找到所有这些的名称并将它们明确地编码到颜色标度中,我想将na.value设置为几种颜色,以便在存在多个与名称不匹配的值时使用。 以下是一些根据此question改编的示例数据。

library(ggplot2)

set.seed(42)

mydata <- data.frame(var1 = sample(c("A", "B", "C", "D"), 150, replace = TRUE),
                     var2 = sample(c("s", "i", "y", "x"), 150, replace = TRUE),
                     var3 = sample(1:10,150,replace = TRUE))

my_cols <- c("s" = "steelblue",
             "i" = "darkgoldenrod2",
             "z" = "red",
             "c" = "pink")

这适用于制作条形图

ggplot(mydata, aes(x = var1, fill = var2)) +
  geom_bar() + 
  scale_fill_manual(name = "var2",
                    values = my_cols,
                    na.value = c("black","green"))

bargraph

但是,当我使用与geom_line相同的理论时,它会以不同的方式为每个线段着色。

ggplot(mydata, aes(x = var2, y = var3, col = var2))+
  geom_line()+
  scale_colour_manual(name = "var2",
                    values = my_cols,
                    na.value = c("black","green","cyan"))

linegraph

我知道怎样才能让这两条线从na.value中获取一种颜色的全长?

旁注:如果没有为na.value提供颜色,则会绘制具有空值的图形,其中na值应为。这可能非常令人困惑,也许可能会有一个有用的警告信息?

0 个答案:

没有答案