R 有没有办法在同一个ggplot上使用两个色标?

R 有没有办法在同一个ggplot上使用两个色标?,r,ggplot2,colors,geom,R,Ggplot2,Colors,Geom,通过分类(样本A和B)分离数据,制作了两层,一层用于点,一层用于线。我想按类别分离数据,指示点的颜色,也分离线,但颜色不同于用于点的颜色 library(ggplot2) Sample <- c("a", "b") Time <- c(0,1,2) df <- expand.grid(Time=Time, Sample = Sample) df$Value <- c(1,2,3,2,4,6) ggplot(data = df,

通过分类(样本A和B)分离数据,制作了两层,一层用于点,一层用于线。我想按类别分离数据,指示点的颜色,也分离线,但颜色不同于用于点的颜色

library(ggplot2)

Sample <- c("a", "b")
Time <- c(0,1,2)

df <- expand.grid(Time=Time, Sample = Sample)
df$Value <- c(1,2,3,2,4,6)

ggplot(data = df,
             aes(x = Time,
                 y = Value)) +
  geom_point(aes(color = Sample)) +
  geom_line(aes(color = Sample)) +
  scale_color_manual(values = c("red", "blue")) + #for poits
  scale_color_manual(values = c("orange", "purple")) #for lines
库(ggplot2)

示例利用
ggnewscale
包,可以这样实现:

库(ggplot2)
图书馆(ggnewscale)
样本使用颜色列和刻度颜色标识:

df$myCol1
df$myCol1 <- rep(c("red", "blue"), each = 3)
df$myCol2 <- rep(c("orange", "purple"), each = 3)

ggplot(data = df,
       aes(x = Time,
           y = Value)) +
  geom_point(aes(color = myCol1)) +
  geom_line(aes(color = myCol2)) +
  scale_color_identity()