3

我有一张标有数字 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
)

尝试的带有数字的图例

但是,这不起作用,因为pch只允许 1 长度的字符串。如何创建密钥基于数字 1:200 而不仅仅是每个数字的第一个数字的图例?或者做一些相当于强制pch接受多长度字符串的事情?(请注意,它thelabels包含较长的文本,所以我不能直接用 标记形状thelabels。)

4

1 回答 1

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)
于 2013-06-23T04:41:02.540 回答