R 特定打印图层的数据子集

R 特定打印图层的数据子集,r,ggplot2,R,Ggplot2,我想 在某些图层上绘制所有数据(此处:geom_point) 仅在某些其他图层上绘制子集(此处:geom_文本用于“范围”类型) 然而,我得到的是整个数据的文本标签,而它们应该只为蓝绿色点添加 我尝试对数据进行子集设置,但输出不是所需的。尽管如此,对象sub_数据只保存所需的数据 有什么建议吗 R代码: library(ggplot2) N <- 10 # create 20 = 2*10 data points test_data <- data.frame( id

我想

  • 在某些图层上绘制所有数据(此处:geom_point)
  • 仅在某些其他图层上绘制子集(此处:geom_文本用于“范围”类型)
然而,我得到的是整个数据的文本标签,而它们应该只为蓝绿色点添加

我尝试对数据进行子集设置,但输出不是所需的。尽管如此,对象sub_数据只保存所需的数据


有什么建议吗


R代码:

library(ggplot2)

N <- 10

# create 20 = 2*10 data points
test_data <- data.frame(
  idx  <- c( 1:N, 1:N ),
  vals <- c( runif(N, 0, 1),
             rep(  0.5, N)),
  type <- c( rep("range",  N),
             rep("const",  N))
)

# this subsets to the 10 data points of type "range"
sub_data <- subset( test_data, type == "range")

ggplot( test_data, aes( x = idx, y = vals)) + 
  geom_point( aes( colour = type)) +
  geom_text(  data = sub_data, aes( x = idx + 0.1, label = idx ), size = 3.5)
库(ggplot2)

N更改
我测试了你的代码,得到了想要的结果。问题是您正在使用
谢谢。我“爱”那些时刻,那里的虫子藏在这么少的字母里。但我还是不明白,为什么我不能使用“@Jaap:应该只使用“=”而不是“全局范围vs局部范围”是非常重要的。谢谢
test_data <- data.frame(
  idx  = c(1:N, 1:N),
  vals = c(runif(N, 0, 1), rep(  0.5, N)),
  type = c(rep("range", N), rep("const",  N))
)
idx <- c(1:N, 1:N),
vals <- c(runif(N, 0, 1), rep(  0.5, N)),
type <- c(rep("range", N), rep("const",  N))
test_data <- data.frame(idx, vals, type)