我正试图在我的折线图中添加更多的线条.如何确保所有新添加的行都呈灰色显示?

first4letters <- c(rep("A", 3), rep("B", 3), rep("C", 3), rep("D", 3))
times <- rep(c("time1", "time2", "time3"), 4)
score <- c(5, 10, 2, 3, 4, 7, 11, 2, 9, 4, 6, 11)

df <- data.frame(first4letters, times, score)
df

plot1 <- ggplot(data = df, aes(times, score, group = first4letters)) + 
  geom_line(aes(color = first4letters)) +
  geom_point(aes(color = factor(first4letters)), size = 1) +
  theme_classic()
plot1 + scale_color_manual(values = c("red", "blue", "black", "orange")) 

我会添加一些新的字母.但是,显示这些字母的线条必须是灰色的.我不能向scale_color_manual()函数添加新值.因为该函数本身决定了 colored颜色 的顺序.

推荐答案

一种 Select 是使用命名的 colored颜色 向量.这样做,所有其他类别将自动分配na.value=:

在示例数据中再添加两个字母:

library(ggplot2)

first4letters <- c(
  rep("A", 3), rep("B", 3),
  rep("C", 3), rep("D", 3),
  rep("E", 3), rep("F", 3)
)
times <- rep(
  c("time1", "time2", "time3"), 6
)
score <- c(
  5, 10, 2, 3, 4, 7, 11, 2, 9, 4,
  6, 11, 3, 8, 9, 10, 12, 3
)

df <- data.frame(first4letters, times, score)

pal_color <- c("red", "blue", "black", "orange")
names(pal_color) <- LETTERS[1:4]

ggplot(data = df, aes(times, score, group = first4letters)) +
  geom_line(aes(color = first4letters)) +
  geom_point(aes(color = factor(first4letters)), size = 1) +
  theme_classic() +
  scale_color_manual(values = pal_color, na.value = "grey80")

R相关问答推荐

给定R中另一行中的值,如何插补缺失值

如何将具有重复名称的收件箱合并到R中的另一列中,而结果不同?

将模拟变量乘以多个观测结果中的模拟变量

工作流程_set带有Dplyrr风格的 Select 器,用于 Select 结果和预测因子R

单击 map 后,将坐标复制到剪贴板

如何根据条件计算时差(天)

随机森林回归:下拉列重要性

如何在geom_col中反转条

从BRM预测价值

R Read.table函数无法对制表符分隔的数据正常工作

在R函数中使用加号

计算直线上点到参考点的总距离

变长向量的矢量化和

如何合并不同列表中的数据文件,包括基于名称的部分匹配,而不是一对一等价

替换在以前工作的代码中有x行&q;错误(geom_sf/gganimate/dow_mark)

如何使用循环从R中的聚合函数创建列,而不会在名称中给出&q;$&q;?

使用R、拼图和可能的网格包绘制两个地块的公共垂直线

如何在访问之前下载的输入时同时上传和处理所有指定的shiny 输入?

如何将字符类对象中的数据转换为R中的字符串

如何编辑被动式数据表?