R 缩放\u颜色\u手动为NA值定义多个颜色导致多条颜色线

R 缩放\u颜色\u手动为NA值定义多个颜色导致多条颜色线,r,ggplot2,colors,R,Ggplot2,Colors,我有数据,我想用与var2值关联的相同颜色方案绘制条形图和线形图。但是,var2有许多值只是偶尔出现。与其找到所有这些的名称并显式地将它们编码到颜色刻度中,我想将na.value设置为一些颜色,以便在存在多个与名称不匹配的值时使用。 下面是一些根据这一点改编的示例数据 然而,当我使用应用于geom_线的相同理论时,每个线段的颜色都不同 ggplot(mydata, aes(x = var2, y = var3, col = var2))+ geom_line()+ scale_colo

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

然而,当我使用应用于geom_线的相同理论时,每个线段的颜色都不同

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"))

你知道我怎样才能让这两行从na.value中提取一种颜色来表示它们的整个长度吗


旁注:如果没有为
na.value
提供颜色,则会在na.value应该在的位置用空白绘制图形。这可能会很混乱,也许会有一个有用的警告信息

如果您使用的是手动颜色比例,为什么不为其提供足够的颜色以适合类别?或者为什么不使用
比例\填充\离散
?在折线图上,也许你需要设置一个组?我有一个我想要使用的特定调色板。问题中的那个只是一个例子,我需要它在不同的图中是相同的,不同的数据集有不同的var2值。设置组没有任何改变。var2有许多值只是偶尔出现。与其找到所有这些的名称并显式地将它们编码到颜色刻度中,我想将na.value设置为一些颜色,以便在存在多个与名称不匹配的值时使用。
ggplot(mydata, aes(x = var1, fill = var2)) +
  geom_bar() + 
  scale_fill_manual(name = "var2",
                    values = my_cols,
                    na.value = c("black","green"))
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"))