为什么在R中更改绘图的边距时添加0.1?
我已经看过很多次了,只是注意到它也在为什么在R中更改绘图的边距时添加0.1?,r,plot,R,Plot,我已经看过很多次了,只是注意到它也在par的帮助页面上: The default is c(5, 4, 4, 2) + 0.1 为什么默认值增加了0.1,并且在更改par(mar)时也会看到+0.1 当设置par(mar=c(0,0,0,0)+0.1)时,我认为这个想法是设置一个最小的边距,但它对于不同于零的值没有意义。我不知道,但是(贝克尔和钱伯斯1984,关于S的第一本书,它是R的祖先)给出了这些默认值(搜索xrig)并说(第95页) (附录澄清了这实际上包括额外的0.1,但没有给出任何
par的帮助页面上:
The default is c(5, 4, 4, 2) + 0.1
为什么默认值增加了0.1,并且在更改par(mar)
时也会看到+0.1
当设置par(mar=c(0,0,0,0)+0.1)
时,我认为这个想法是设置一个最小的边距,但它对于不同于零的值没有意义。我不知道,但是(贝克尔和钱伯斯1984,关于S的第一本书,它是R的祖先)给出了这些默认值(搜索xrig
)并说(第95页)
(附录澄清了这实际上包括额外的0.1,但没有给出任何额外的解释)。我想这是你要做的最好的了。仍然存在;当他。。。即使你打扰他,我也不确定他是否记得他(或他的一位合作者)30多年前做出的一个小设计决定的基本原理
我自己的猜测是,不管它值多少,人们可能会期望在绘图的左边缘之外有4行的材料(例如,记号、记号标签和双线轴标签),0.1作为“附加边距”,这样文本就不会精确地到达边缘。嗨,我和你有同样的问题,当我寻找答案时,我发现了你的问题。根据我的理解,默认值为+0.1的原因是在设置par(mar=c(0,0,0,0)+0.1)
时,至少保持x和y轴。请看下图:
正如你所看到的,虽然不是很清楚,但仍然很明显,Y轴和X轴在图片的边缘。这意味着,当我使用codepar(mar=c(0,0,0,0)
进行设置时,我将获得图形的最大大小(如果没有默认值+0.1,甚至没有轴X和Y)
希望这能对你有所帮助