2015-08-16 56 views

回答

4

?legend

## right-justifying a set of labels: thanks to Uwe Ligges 
x <- 1:5; y1 <- 1/x; y2 <- 2/x 
plot(rep(x, 2), c(y1, y2), type = "n", xlab = "x", ylab = "y") 
lines(x, y1); lines(x, y2, lty = 2) 
temp <- legend("topright", legend = c(" ", " "), 
      text.width = strwidth("1,000,000"), 
      lty = 1:2, xjust = 1, yjust = 1, 
      title = "Line Types") 
text(temp$rect$left + temp$rect$w, temp$text$y, 
    c("1,000", "1,000,000"), pos = 2) 

enter image description here

编辑:

我无法找到一个方法来自动对齐与传说右边的线条。但是,您可以使用text展示位置和选项bty="n"来生成图例以删除边框。

## similar to above 
x <- 1:5; y1 <- 1/x; y2 <- 2/x 
plot(rep(x, 2), c(y1, y2), type = "n", xlab = "x", ylab = "y") 
lines(x, y1); lines(x, y2, lty = 2) 
temp <- legend("topright", legend = c(" ", " "), 
      text.width = strwidth("1,000,000"), 
      lty = 1:2, xjust = 1, yjust = 1, bty="n") 

text(4, 2,"lbl1") 
text(3.9, 1.92,"mylbl2") 

enter image description here

+0

是的,在传说中,我可以使所有标签对齐吗?在你的例子中,“1000”和“1000000”对齐,然而,它们的对应线仍然左对齐,我们可以使两者都对齐吗?非常感谢!!! –

+0

或者我可以在文本的右侧添加行吗? –

+0

我解决了我提到你的代码的问题,谢谢! –