用两个字符pch符号绘制图例

时间:2013-06-23 04:15:00

标签: r legend

我有一个标有数字1:200的形状图。我想创建一个解码这些数字的图例。所以我尝试了(保持20以便于阅读)。

plot(c(1,20), c(0,3), type="n")
xx <- c(0,1,1,0)
thelabels <- paste(LETTERS[1:20], LETTERS[1:20], sep="")
for (i in 1:20){
  polygon(xx, c(0,0,1,1))
  text(mean(xx), 0.5, i)
  xx <- xx + 1
}
legend("topleft", "groups", 
  legend = thelabels, pch=as.character(c(1:20)),
  ncol=4
)

Attempted legend with numbers

但是,这不起作用,因为pch只允许1长字符串。如何创建一个图例,其中键是基于数字1:200而不仅仅是每个数字的第一个数字?或做一些等同于迫使pch接受多长度字符串的事情? (请注意,thelabels包含较长的文字,因此我无法使用thelabels直接标记形状。)

1 个答案:

答案 0 :(得分:3)

这是一个总 kludge 解决方法:

plot(c(1,20), c(0,3), type="n")
xx <- c(0,1,1,0)
thelabels <- paste(1:20, " ", LETTERS[1:20], LETTERS[1:20], sep="")
for (i in 1:20){
  polygon(xx, c(0,0,1,1))
  text(mean(xx), 0.5, i)
  xx <- xx + 1
}
legend("topleft", "groups", 
       legend = thelabels, pch="",
       ncol=4)