如何增加R中基本图的内部边距/填充?

时间:2019-07-11 19:07:40

标签: r plot

使用R的基本图,我知道如何分别使用以下方法控制R图之间的边距和一组图的外部边距:

par(mar=c(1,1,0,0))
par(oma=c(1,1,0,0))

我要学习的是一种通用方法,它可以控制绘图的“内部边距”,这意味着:如何增加/减少轴与绘图内容之间的间距?

通过“一般方式”,我的意思是说,这并不依赖于简单地手动添加/减去给定轴表示的变量的最小值和最大值的偏移量。毕竟,这种解决方案可能导致同一绘图面板的绘图之间的填充不同(取决于其比例和差异),或者导致需要在绘图面板中对每个绘图进行大量的手动调整。

请注意,我的问题与this other one直接相似,但是在我的情况下,我想学习如何针对基本R图而不是ggplot(必须必须是基本图)。

2 个答案:

答案 0 :(得分:1)

您可以简单地调整x和y图限制的范围:

x <- 1:10
y <- 1:10

# Before
plot(x, y)

# After
plot(x, y, xlim = range(x) + c(-1, 1), ylim = range(y) + c(-1, 1))

输出:

enter image description here enter image description here

答案 1 :(得分:1)

?plot.window中所述,默认设置是将数据范围扩大4%,并将其用作绘图限制。您不能将值4%更改为另一个数字,但是可以显式设置xlimylim来完成同一操作。

例如,如果您想使用p=50%扩展名,则希望x的下限为min(x) - p*diff(range(x)),上限和{{ 1}}。但是,如果仅将其用作y中的第一个值,则将为50%,然后再为4%。您可以解决此问题,但是使用xlim将使用确切的规范。将所有这些放在一起,这是一个示例:

xaxs = "i"

产生此图:

screenshot