2011-01-24 16 views
70

De vez en cuando necesito hacer un diagrama vacío. Este es el mejor que puedo imaginar.R - ¿Cómo dibujar un diagrama vacío?

plot(0,xaxt='n',yaxt='n',bty='n',pch='',ylab='',xlab='') 

¿Alguna solución más simple?

p.s 1: completamente vacío, sin eje, etc.

Gracias!

Respuesta

75

¿Qué tal algo como:

plot.new() 
+0

@ Adam, I don' Sabes a qué te refieres con "R apropiado". –

+0

@Joshua, lo siento plot.new() funciona bien, no hay necesidad de x11(). Dije R correctamente porque pensé que x11() era parte de tu solución, pero funciona sin ella. –

+1

@Adam 'x11()' es un comando R multiplataforma para abrir un nuevo dispositivo. Si tiene un dispositivo abierto y llama a 'plot.new()', se borrará el dispositivo actual. –

2
grid.newpage() ## If you're using ggplot 

grid() ## If you just want to activate the device. 
+0

'grid()' no está relacionado con el paquete de grillas AFAIK – baptiste

15

Adán, después de su comentario anterior ("Yo quería la trama vacío para servir como relleno en una parcela G. múltiple (mfrow)."), Lo que realmente quiere es la opción MFG

par(mfg=c(row,column)) 

- que controla dónde desea colocar el siguiente gráfico. Por ejemplo, para poner una parcela en el medio de un G. múltiple 3x3, hacer

par(mfrow=c(3,3)) 
    par(mfg=c(2,2)) 
    plot(rnorm(10)) 
3

Hay un interés en su solución que plot.new() no tiene sin embargo: en la trama vacía que "dibuja" se puede escribir texto en coordenadas especificadas con text(x = ..., y = ..., your_text).

35

Sugiero que alguien necesite hacer un gráfico vacío para agregar algunos gráficos más adelante. Por lo tanto, usando

plot(1, type="n", xlab="", ylab="", xlim=c(0, 10), ylim=c(0, 10)) 

puede especificar los límites de los ejes de su gráfico.

16

Esto es marginalmente más simple que su solución original:

plot(0,type='n',axes=FALSE,ann=FALSE) 
9

El siguiente no se traman nada en la trama y que permanecerá vacía.

plot(NULL, xlim=c(0,1), ylim=c(0,1), ylab="y label", xlab="x lablel") 

Esto es útil cuando se desea agregar líneas o puntos después dentro de un bucle for o algo similar. Simplemente recuerde cambiar los valores xlim y ylim según los datos que desea trazar.

6

necesita una nueva ventana de dibujo, y también un sistema de coordenadas, por lo que necesita plot.new() y plot.window(), entonces puede empezar a añadir elementos de gráfico:

plot.new() 
plot.window(xlim=c(-5,5), ylim=c(-5,5)) 

points(rnorm(100), rnorm(100)) 
axis(side=1) 

example plot

Cuestiones relacionadas