R:增加数字区域以适应边距而不改变绘图大小

时间:2015-08-06 19:52:32

标签: r plot

我想在不改变绘图区域大小的情况下增加边距的大小。我正在做的是:

  1. 绘制我的数据,然后查询mai的值(以英寸为单位的边距大小)和fin(以英寸为单位的图形区域尺寸)。
  2. 将mai调整到底部和左侧一英寸。
  3. 调整翅片宽度为1英寸,高度为1英寸。
  4. 重新绘制数据。
  5. 但是,我总是得到错误:

      

    plot.new()出错:数字区域太大

    有人可以帮忙吗?很明显,我不了解mai和fin如何互动。

    以下是一个例子:

    x=c(1,2)
    y=c(2,4)
    
    plot(x,y)
    init_fin <- par("fin") #gives 7 7
    init_mai <- par("mai") #gives 1.02 0.82 0.82 0.42
    
    final_fin <- init_fin + 1 #now 8 8
    par(mai=c(2.02,1.82,0.82,0.42), fin=final_fin)
    plot(x,y)
    

    错误:

      

    plot.new()出错:数字区域太大

2 个答案:

答案 0 :(得分:1)

这个错误取决于你正在使用的设备,我一直看到它与Rstudio,因为我的笔记本电脑屏幕上的情节面板非常小,R认为没有足够的空间来显示图形。一种选择是明确地打开更大的设备窗口,例如

dev.new(width=10, height=10)

就在你最后一个情节之前。

答案 1 :(得分:1)

使用 par(mai = c(bottom, left, top, right)) 在情节之前。它将在绘图区域周围创造额外的空间。根据您的喜好更改底部、左侧、顶部和右侧的值。