在R图中为最后一个点添加标签

时间:2013-10-22 15:57:33

标签: r plot label

考虑以下情节:

 par(xaxs='i',yaxs='i')
 q1 <- c(1000000.0,  908364.8,  876009.1,  847892.8,  824808.3,  805416.2,  785266.2, 770997.1,  753908.6,  744599.9,  706777.6,  674659.9,  634654.4,  601440.4, 568259.7,  535361.3,  493679.9,  465526.5,  429766.6,  395244.7,  361483.2, 332136.6, 308574.5, 285500.6, 262166.2 ,237989.0 , 210766.1,  188578.1, 166762.3 , 140399.8  ,114865.5)
 plot(q1, type = "l", lty = 1, lwd = 2, col = "darkolivegreen3", ylim = c(0,4*10^6), xlim = c(1,30), bty = "l")
 text(30, q1[30], labels = "text", col = "gray36", cex = 0.8, pos = 4)

enter image description here

我想在绿线的最后一个点的右边添加标签“text”(即x = 30的线上的点)。

我尝试了上面的代码,但文字没有显示出来!任何想法如何解决? 谢谢!

2 个答案:

答案 0 :(得分:1)

默认情况下,绘图中的内容被剪切到绘图区域,您没有看到文本,因为它已被剪裁。您可以使用mtext函数将文本显式放入边距。或者,如果您指定par(xpd=NA),则剪辑将关闭(它仍会剪切到设备区域),现在将使用text函数绘制的文本绘制到边距中。无论哪种方式,您可能都希望在适当的边距中指定一些空间,以便文本有空间并且看起来不错。有关如何指定边距以及有关裁剪的更多详细信息,请参阅?par

答案 1 :(得分:0)

我刚才意识到这可以使用mtext

来完成
 mtext("text", side = 4, at = q1[30], las = 1)