2011-06-03 12 views
15

me gustaría trazar los resultados de una regresión cuantil, pero no soy capaz de:¿Cómo cambiar el tamaño y guardar las tramas en formato png?

  1. controlar las dimensiones/tamaño de las parcelas y
  2. guardar las parcelas como png.

Aquí está mi código:

require(quantreg) 
data(engel) 
attach(engel) 
xx <- income - mean(income) 
zz <- c(120, diff(income)) 
fit1 <- summary(rq(foodexp~xx+zz, tau=2:98/100)) 

continuación:

png('res.png') 
plot(fit1, mfrow=c(1,2)) 

Sólo la trama zz se guarda en el archivo res.png .. ¿Hay alguna manera de salvar a las parcelas en archivos separados (dos y uno)? y cómo puedo controlar el ancho/alto de las parcelas? Me gusta que todos los gráficos individuales tengan width = height (square) cuando los guardo en el archivo .png?

+2

¿Por qué downvote? Esto parece una pregunta razonable para novatos ... –

+1

He modificado el título para reflejar la pregunta real. Esto debería ayudar a futuras búsquedas sobre este tema. – Andrie

+0

Quizás, aunque parezca estar siendo una pregunta tanto sobre la manipulación de la salida de 'plot.summary.rqs' como sobre el cambio de tamaño de gráficas PNG en general .... –

Respuesta

18

Puede controlar las dimensiones de la imagen por argumento png.

png("image.png", width = 800, height = 600) 
plot(...) 
dev.off() 

Para "finalizar" la imagen, use dev.off.

4

para subdividir las parcelas:

plot(fit1,parm=1:2) 
plot(fit1,parm=3) 

Tenga en cuenta que podría haber encontrado la respuesta mediante una cuidadosa lectura de ?plot.summary.rqs, pero esto puede no haber sido obvio: con el fin de saber dónde buscar lo que tendría que hacer class(fit1) para averiguar qué método plot se estaba utilizando.

La respuesta de Roman se ocupa de las dimensiones de la imagen.

+0

thks. Tratando de usar el diseño (matriz (c (1,2,3,0), 2, 2, byrow = TRUE)) y luego trazar (fit1, parm = 1), trazar (fit1, parm = 1), trazar (fit1 , parm = 2) y plot (fit1, parm = 3) pero no funciona. Además, ¿hay alguna manera de hacer que la última trama esté "centrada"? – quantplot

+0

Su problema es que 'plot.summary.rqs' internamente usa' par (mfrow = ...) 'que no funciona muy bien con' layout'. ¿Qué quieres lograr? Puedes acercarte con 'plot (fit1, mfrow = c (2,2))', pero si quieres el efecto de 'layout (mat = matrix (c (1,1,2,2,0,3,3) , 0), byrow = VERDADERO, nrow = 2)); layout.show (3) 'va a ser más difícil ... Aunque generalmente me gusta hacer todo lo posible en R, puede ser más fácil generar las gráficas por separado y luego organizarlas en cualquier formato de presentación final (HTML, Word, LaTeX, lo que sea ...) –

+0

bien, entiendo. Lo haré en LaTeX entonces ... – quantplot

Cuestiones relacionadas