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

时间:2014-04-14 02:14:45

标签: r plot figure margins

我已经针对解决方案寻找了不同的问题,并且我已经尝试了所建议但我没有找到解决方案来使其发挥作用。

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

  

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")

我该怎么办?

7 个答案:

答案 0 :(得分:120)

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

[1] 5.1 4.1 4.1 2.1

改变写:

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

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

希望这适合你。

答案 1 :(得分:76)

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

当绘图面板太小而无法显示图表时,RStudio UI会导致错误: RStudio with the plot panel too small

只需展开绘图面板即可修复错误并显示图表: RStudio with the plot panel expanded

答案 2 :(得分:21)

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

答案 3 :(得分:16)

如果您在RStudio中收到此消息,请单击“扫帚”'图"清除所有图"在Plots选项卡中再次尝试plot()。

此外执行命令

graphics.off()

答案 4 :(得分:0)

只需清除图并尝试再次执行代码即可。它对我有用

答案 5 :(得分:0)

只是个旁注。有时会发生此“页边距”错误,因为您想在R中保存高分辨率图形(例如dpi = 300res = 300)。
在这种情况下,您需要指定宽度和高度。 (顺便说一句,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()

将解决边距错误:

# 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()

答案 6 :(得分:-1)

在绘制数据之前仅运行graphics.off()。 该指令解决了我的错误。因此,在采用更复杂的解决方案之前尝试一下是没有害处的。