首页 > 解决方案 > 调整 R 图的边距

问题描述

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

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

spins <- runif(50, min = 0, max = 50)

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

hist(spins)

这是控制台的结果:

> hist(spins)
Error in plot.new() : figure margins too large

以下是我的问题:

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

标签: rplotmargin

解决方案


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 中的绘图窗格。


推荐阅读