1

如何用一条语句绘制多个图例?例子:

start <- seq(20,35, 5)
end <- seq(39,42, 1)
y <- seq(1,4,1)
name <- c('a', 'b', 'c', 'd')
plot(1, xlim=c(5,50), ylim=c(0,5))
rect(start, y, end, 1.1:4.1, col="black")
legend(end[1],y[1], name[1], xjust=0, yjust=0.5)
legend(end[2],y[2], name[2], xjust=0, yjust=0.5)
legend(end[3],y[3], name[3], xjust=0, yjust=0.5)
legend(end[4],y[4], name[4], xjust=0, yjust=0.5)

最后四行应合并为一个命令。提前感谢您的帮助

4

1 回答 1

0

您可以使用范围内的索引进行循环1:4(1 到 和 的长度endy。这可以使用for循环来实现,或者在 R 风格中使用更多sapply

sapply(seq_along(y), function(i) {
   legend(end[i],y[i], name[i], xjust=0, yjust=0.5)
 })
于 2012-05-02T08:28:23.440 回答