guardar - save plot r
"Error en plot.new(): márgenes de figura demasiado grandes" (4)
El problema simplemente puede surgir del uso de un determinado IDE. Estaba usando Rstudio, y tengo un montón de errores. Mi mismo código exacto funcionó bien en la consola.
En R, me encontré con un error de ejecución de la siguiente manera:
> png("p3_sa_para.png", 4, 2)
> par(mfrow=c(1,2))
> plot(c(1:10), ylab="Beta",xlab="Iteration")
Error in plot.new() : figure margins too large
> plot(c(1:10), ylab="Gamma",xlab="Iteration")
Error in plot.new() : figure margins too large
> dev.off()
X11cairo
2
Ya he reducido el tamaño de la imagen a 4 por 2, ¿por qué todavía se queja de "márgenes demasiado grandes"? ¿Cómo puedo resolver este problema con png?
Es extraño que si cambio png a pdf, funcione. También me pregunto por qué?
¡Gracias y saludos!
Este es un problema común para trazar especialmente cuando está usando IDE, que tiene un lugar para generar y mostrarle la trama, pensó que era un problema general y hay una lógica detrás de esto: cuando le dice a R que trazará algo, R primero mire los datos y luego mira el área que tiene a disposición para que pueda hacer el trazado.
Los comandos png () y similares:
En tu caso, le diste a la trama un área de 4 por 2 píxeles para trazarla, de modo que puedas resolverla aumentando el área en un tamaño que se ajuste a tu trazado. (como lo mencionó Dirk Eddelbuettel)
En caso de IDE
Esto es mucho más simple en la mayoría de los casos, simplemente aumente el área de trazado arrastrando los márgenes y luego vuelva a ejecutar su código (cierre cualquier par () si tiene alguno abierto antes y cree uno nuevo)
Incluso yo estaba obteniendo el error en R-Studio, mientras que la trama estaba apareciendo bien en la consola. ¡Un simple reinicio de RStudio resolvió el problema! Una vez dicho esto, la página de soporte de RStudio sugiere que restablecer los dispositivos gráficos dev.off()
puede ser útil. http://support.rstudio.org/help/kb/troubleshooting/problem-with-plots-or-graphics-device
La función png()
usa píxeles y no pulgadas, así que intente algo como
png("p3_sa_para.png", 640, 480)
Y para responder a su segunda pregunta, sí, pdf()
usa pulgadas porque un formato de gráficos vectoriales no tiene noción de píxeles. Las funciones de help(png)
y de help(pdf)
son tus amigos.