2

我必须绘制 20 个图并在每个图中水平放置一个图例。

我为第一个情节给出了以下命令:

plot(x=1:4,y=1:4)
legend("bottom",legend = c("a","b","c","d"),horiz=TRUE,text.font=2,cex=0.64)

然后对于我尝试的第二个情节:

plot(x=1:2,y=1:2)
legend("bottom",legend = c("a","b"),horiz=TRUE,text.font=2,cex=0.64)

但是因为传递给图例参数的字符向量的大小不同,所以我得到的图例大小不同。

由于我必须绘制许多不同大小的图例,因此我想以自动化的方式进行。

有没有办法可以固定所有图中图例的大小并使其适合图形大小?

4

1 回答 1

4

par(cex=.64)一开始就足够了

op <- par(cex=.64)  # this fix the legend size for all plots
plot(x=1:4,y=1:4)
legend("bottom",legend = c("a","b","c","d"),horiz=TRUE,text.font=2) # no need to set cex anymore
plot(x=1:2,y=1:2)
legend("bottom",legend = c("a","b"),horiz=TRUE,text.font=2)
par(op) # At end of plotting, reset to previous settings
于 2012-10-08T09:16:23.677 回答