R图例无法正常工作

13

我是一个R新手。我正在绘制4个近似于一条直线的图形。我想把图例放在左上角。我已经尝试过:

legend(
"topleft", legend=....)

然后我尝试手动设置位置,但仍然不起作用。以下是我的代码和绘图:

 plot(1:N, vRm, pch=".", col="blue", xlab="m", ylim=c(0.885, 0.91)) 
 ylab="approximated 90th percentile")
 lines(1:N, v1m, pch=".", col="yellow")   
 lines(1:N, v2m, pch=".", col="green")
 lines(1:N, v3m, pch=".", col="red")

 legend(
 y=0.92, legend=c("quantile","90st", "91st", 
 "(90st+91st)/2"), col=c("blue", "yellow", "green", "red"),   pch=c(".",".", ".", ".")
 )

而且情节:

在此输入图像描述

我该如何将图例放在顶角位置?

1个回答

13
在您的图例定义中,您没有在legend函数中定义选项x。请注意R参考文献:
也可以通过将x设置为列表中的单个关键字之一 "bottomright", "bottom", "bottomleft", "left", "topleft", "top", "topright", "right" 和 "center" 来指定位置。这将在给定位置在绘图框架内放置图例。使用部分参数匹配。可选的插页参数指定图例与绘图边距的距离。如果给定一个值,则用于两个边距;如果给定两个值,则第一个用于x-距离,第二个用于y-距离。
因此,您可以使用以下命令将其放置在右上角:
legend( x= "topright", y=0.92, 
        legend=c("quantile","90st", "91st", "(90st+91st)/2"), 
        col=c("blue", "yellow", "green", "red"),   
        pch=c(".",".", ".", "."))

4
除非你已将最上方的 y 坐标覆盖为 0.92。 - Simon O'Hanlon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接