Error en plot.new (): márgenes de figura demasiado grandes en R

Soy nuevo en R pero he realizado numerosos diagtwigs de correlación con conjuntos de datos más pequeños. Sin embargo, cuando bash trazar un gran conjunto de datos (2gb +), puedo producir la ttwig bien, pero la leyenda no aparece. ¿Algún consejo? o alternativas?

library(gplots) r.cor <- cor(r) layout(matrix(c(1,1,1,1,1,1,1,1,2,2), 5, 2, byrow = TRUE)) par(oma=c(5,7,1,1)) cx <- rev(colorpanel(25,"yellow","black","blue")) leg <- seq(min(r.cor,na.rm=T),max(r.cor,na.rm=T),length=10) image(r.cor,main="Correlation plot Normal/Tumor data",axes=F,col=cx) axis(1, at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]], cex.axis=0.9,las=2) axis(2,at=seq(0,1,length=ncol(r.cor)), labels=dimnames(r.cor)[[2]], cex.axis=0.9,las=2) image(as.matrix(leg),col=cx,axes=T) 

Error en plot.new() : márgenes de figura demasiado grandes

 tmp <- round(leg,2) axis(1,at=seq(0,1,length=length(leg)), labels=tmp,cex.axis=1) 

Sospecho que el problema es que la región de figura pequeña 2 creada por su llamada de layout() no es lo suficientemente grande como para contener solo los márgenes predeterminados, y mucho menos un gráfico.

Antes de la línea que causa el problema, intente:

 par(mar = rep(2, 4)) 

luego trace la segunda imagen

 image(as.matrix(leg),col=cx,axes=T) 

Tendrá que jugar con el tamaño de los márgenes en la llamada par() que muestro para hacerlo bien. Es posible que también necesite boost el tamaño del dispositivo real sobre el que está trazando.

Un consejo final: guarde los valores predeterminados de par() antes de cambiarlos, así que cambie su llamada a par() existente par() :

 op <- par(oma=c(5,7,1,1)) 

entonces, al final de la ttwig do

 par(op) 

Este error puede ocurrir en Rstudio simplemente porque su panel “Plots” es apenas demasiado pequeño. Intente hacer zoom en sus “Archivos, Parcelas, Paquetes, Ayuda, Visor” y vea si esto ayuda.

Si recibe este mensaje en RStudio, puede hacer clic en la figura del “palo de escoba” “Borrar todos los gráficos” en la pestaña Gráficos y tratar de volver a trazar ().

enter image description here

Obtuve este error en R Studio, y simplemente lo solucioné haciendo que la barra lateral fuera más grande haciendo clic y arrastrando en su borde de derecha a izquierda.

Esto sucede a veces en RStudio. Para resolverlo, puede intentar trazar a una ventana externa (solo para Windows):

 windows() ## create window to plot your file ## ... your plotting code here ... dev.off() 

Compruebe si su objeto es una lista o un vector. Para hacer esto, escriba is.list(yourobject) . Si esto es cierto, intente cambiarle el nombre x<-unlist(yourobject) . Esto lo convertirá en un vector que puedes trazar.

enter image description here

Simplemente amplíe esta área si usa RStudio.

Tuve este error cuando intentaba trazar datos de gran dimensión. Si eso es lo que está pasando contigo, prueba la escala multidimensional: http://www.statmethods.net/advstats/mds.html

Luché con este error durante semanas (usando RStudio). Intenté mover la ventana de la ttwig más grande y más pequeña, pero eso no ayudó consistentemente. Cuando moví (arrastré) la aplicación a mi monitor más grande, ¡el problema desapareció! Estaba aturdido … tantas horas desperdiciadas … Sabía que mi código era correcto …

El canvas RStudio Plots limita el ancho y el alto de la plot. Sin embargo, si hace su trazado desde el fragmento de código de Rmarkdown , funciona sin limitación de campo de canvas porque el área de trazado se establece de acuerdo con el tamaño del papel.

Por ejemplo:

  ```{r} #inside of code chunk in Rmarkdown grid <- par(mfrow=c(4, 5)) plot(faithful, main="Faithful eruptions") plot(large.islands, main="Islands", ylab="Area") ... par(grid) ``` 

Encontré este error hoy. Inicialmente, estaba tratando de dar salida a un archivo .jpeg con ancho y alto bajo.

 jpeg("method1_test.jpg", width=900, height=900, res=40) 

Más tarde aumenté el ancho y la altura para:

 jpeg("method1_test.jpg", width=1900, height=1900, res=40) 

El error no estaba allí. 🙂

También puedes jugar con la resolución, si la resolución es alta, necesitas más ancho y alto.