调整 R 图的边距

Mel*_*Mel 2 plot r margin

我对调整 R 图的边距很感兴趣。我在 MacOS 上使用 R Studio,在 2013 intel CPU Macbook pro 上运行。

这是我用于生成绘图的数据:

spins <- runif(50, min = 0, max = 50)
Run Code Online (Sandbox Code Playgroud)

这是我用来生成绘图的代码:

hist(spins)
Run Code Online (Sandbox Code Playgroud)

这是控制台的结果:

> hist(spins)
Error in plot.new() : figure margins too large
Run Code Online (Sandbox Code Playgroud)

这是我的问题:

  1. 我如何找出该特定图的当前边距?
  2. 如何修改该特定图的边距?
  3. 有没有一种方法可以修改一般绘图的边距(例如,我可以使用一组代码来查找对象的边距,然后使用第二组代码来修改边距,以便它将显示在地块面积)?
  4. 是否有代码可以用来自动调整图的边距,以便每次都显示所需的图?

Gre*_*now 6

par函数可用于查看当前边距的大小并设置边距大小(以及一大堆其他内容)。

运行时将以文本行 ( ) 和英寸 ( )par(c("mar", "mai"))形式报告当前边距(从底部开始并顺时针方向)。marmai

然后,您可以使用以下代码设置边距:par(mar=c(2,2,2,0))par(mai=rep(0.4, 4))

但问题可能是您在 RStudio 中将绘图窗格设置得至少在一维上太小,因此当函数hist尝试创建绘图时,没有足够的空间来容纳绘图和边距信息。尝试在 RStudio 中拖动适当的分隔线以使绘图面板更大,然后再次尝试您的代码。另一种选择是运行命令,dev.new()该命令将为绘图打开一个新窗口(使用操作系统的默认设置),并默认将绘图发送到该新窗口而不是 RStudio 中的绘图窗格。