R语言 颜色图取决于值,但适用于多条线

wnavrhmk  于 2023-05-04  发布在  其他
关注(0)|答案(1)|浏览(127)

我需要从包含多个文件中的数据的数据框创建一个打印。有些文件被标记为reference,有些被标记为user。我希望每个文件都有平滑的线条,但着色应该由标签完成。下面是一些测试数据进行测试:

test <- data.frame(
  y = c(1, 2, 2, 3, 3, 4, 4, 5),
  x = rep(c(1, 2), 4),
  label = c("ref", "ref", "ref", "ref", "user", "user", "user", "user"),
  file = as.character(c(1, 1, 2, 2, 3, 3, 4, 4))
)

我目前的make-shift解决方案是使用shape=file

ggplot(test, aes(x=x, y=y, color=label, shape=file)) +
  geom_point(size=3) + 
  geom_line() +  
  guides(shape=FALSE)

x1c 0d1x但我想知道是否有一个不依赖于形状的解决方案,因为我理想地希望它们是相同的。我已经看过以下问题,但它们都对我的情况没有帮助:

jrcvhitl

jrcvhitl1#

geom_line使用group美学来决定应链接哪些点。因此,您可以用途:

ggplot(test, aes(x=x, y=y, color=label, group=file)) +
  geom_point(size=3) + 
  geom_line()

您之前使用shape的解决方案是有效的,因为如果group不存在,ggplot将使用已指定的其他离散因素(形状,填充,颜色等)的组合作为分组因素。

相关问题