根据图表中图例矢量的长度更改图例中文本的大小

时间:2012-10-08 08:34:36

标签: r plot legend

我必须绘制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)

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

由于我必须绘制具有不同大小的图例的许多不同情节,我想以自动方式进行。

有没有办法可以在所有图中修复图例的大小并使其适合图表大小?

1 个答案:

答案 0 :(得分: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