plot.new()出错:图边距太大,散点图

use*_*361 86 plot r margins figure

我已经在寻找解决方案的不同问题,我已经尝试了建议,但我没有找到解决方案使其工作.

每次我想运行此代码时,它总是说:

plot.new()出错:数字边距太大

我不知道如何解决它.这是我的代码:

par(mfcol=c(5,3))
hist(RtBio, main="Histograma de Bio Pappel")
boxplot(RtBio, main="Diagrama de Caja de Bio Pappel")
stem(RtBio)
plot(RtBio, main="Gráfica de Dispersión")

hist(RtAlsea, main="Histograma de Alsea")
boxplot(Alsea, main="Diagrama de caja de Alsea")
stem(RtAlsea)
plot(RtTelev, main="Gráfica de distribución de Alsea")

hist(RtTelev, main="Histograma de Televisa")
boxplot(telev, main="Diagrama de Caja de Televisa")
stem(Telev)
plot(Telev, main="Gráfica de dispersión de Televisa")

hist(RtWalmex, main="Histograma de Walmex")
boxplot(RtWalmex, main="Diagrama de caja de Walmex")
stem(RtWalmex)
plot(RtWalmex, main="Gráfica de dispersión de Walmex")

hist(RtIca, main="Histograma de Ica")
boxplot(RtIca, main="Gráfica de caja de Ica")
stem(RtIca)
plot(RtIca, main="Gráfica de dispersión de Ica")
Run Code Online (Sandbox Code Playgroud)

我能做什么?

小智 133

每次创建绘图时,您都可能会收到此错误 - " Error in plot.new() : figure margins too large".要避免此类错误,您可以先检查par("mar")输出.你应该得到:

[1] 5.1 4.1 4.1 2.1
Run Code Online (Sandbox Code Playgroud)

要改变那个写:

par(mar=c(1,1,1,1))
Run Code Online (Sandbox Code Playgroud)

这应该纠正错误.否则您可以相应地更改值.

希望这对你有用.

  • 你怎么知道哪些值在边距内?为什么你说我应该得到[1] 5.1 4.1 4.1 2.1然后你告诉我把它变成所有的1? (2认同)
  • 我在RStudio中遇到了同样的问题,当我输入`par(“ mar”)`时,我检索了相同的确切字符串`[1] 5.1 4.1 4.1 2.1`,所以我输入了`par(mar = c(1,1, 1,1))`,但是plot()不会绘制任何内容,因此我不得不关闭RStudio和终端。重新打开RStudio后,它又恢复了正常。 (2认同)
  • 在RStudio的R markdown中也遇到同样的问题。但是,Guest R的解决方案或@noobninja重新启动都没有为我修复它。 (2认同)
  • 这对我来说对“par(mar=c(2,2,2,2))”有用。回答@HermanToothrot,似乎这些是默认值,这就是他如何知道你应该得到什么,然后他将它们全部减少到 1。 (2认同)

Csi*_*der 88

当您在RStudio中的绘图面板对于您尝试创建的绘图的边距来说太小时,可能会发生这种情况.尝试进行扩展,然后再次运行代码.

当绘图面板太小而无法显示图表时,RStudio UI会导致错误: RStudio与情节面板太小

只需展开绘图面板即可修复错误并显示图表: RStudio与情节面板扩大了

  • 是的,调整RStudio面板的大小是有效的.当您通过滑动绘图面板关闭来最小化UI的右侧时,会导致RStudio错误. (3认同)
  • 它的确有效。 (2认同)

PGr*_*een 25

调用dev.off()使RStudio打开一个默认设置的新图形设备为我工作.HTH.

  • 在 R 控制台中输入“dev.off()”,然后按 Enter 键。 (2认同)

Pra*_*wal 17

如果您在RStudio中收到此消息,请单击"绘图"选项卡中的"扫帚"图"清除所有绘图"并再次尝试绘图().

而且执行命令

graphics.off()
Run Code Online (Sandbox Code Playgroud)

  • 写这三行`graphics.off()``par("mar")``par(mar = c(1,1,1,1))` (10认同)

Shr*_*apu 11

只需清除绘图并再次尝试执行代码......它对我有用


Gua*_*hen 7

只是一个旁注。有时会出现这种“边距”错误,因为您想在 R 中保存高分辨率图形(例如dpi = 300res = 300)。
在这种情况下,您需要做的是指定 width 和 height。(顺便提一句, ggsave()不需要这个。)

会导致边距错误:

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()
Run Code Online (Sandbox Code Playgroud)

将修复边距错误:

# eg. for tiff()
par(mar=c(1,1,1,1))
tiff(filename =  "qq.tiff",
     res = 300,                                                 # the margin error.
     width = 5, height = 4, units = 'in',                       # fixed
     compression = c( "lzw") )
# qq plot for genome wide association study (just an example)
qqman::qq(df$rawp, main = "Q-Q plot of GWAS p-values", cex = .3)
dev.off()
Run Code Online (Sandbox Code Playgroud)