
Hola de nuevo:

Creo que tengo la solución a mi problema utilizando los layout como indica Carlos Ortega aquí:

http://list-archives.org/2012/09/14/r-help-es-r-project-org/r-es-leyendas-fuera-de-rango/f/1639534033

Sólo me falta (creo) conocer la manera de establecer el width y el height del dispositivo gráfico de una manera universal (válida en cualquier sistema operativo). No me vale hacer un x11(width=x, height=y).

¿Alguien puede indicarme cómo hacerlo?. Gracias.

Atte.- Eva
--- El mar, 15/1/13, daniel <daniel319@gmail.com> escribió:

De: daniel <daniel319@gmail.com>
Asunto: Re: [R-es] Duda gráficos - paper="a4"
Para: "José Luis Cañadas" <canadasreche@gmail.com>
CC: "Eva Prieto Castro" <evapcastro@yahoo.es>, r-help-es@r-project.org
Fecha: martes, 15 de enero, 2013 21:13

Fíjate si te sirve la rutina de mas abajo. La hice copiando y modificando (poco) los ejemplos que puedes encontrar en:
http://learnr.wordpress.com/2009/04/29/ggplot2-labelling-data-series-and-adding-a-data-table/
https://github.com/hadley/ggplot2/wiki/Mixing-ggplot2-graphs-with-other-graphical-output

Controla con el sessionInfo() las versiones de cada paquete. Para este ejemplo uso la función pdf, pero normalmente uso ggsave.
library(ggplot2)library(reshape)library(grid)
library(gridExtra)# Creo un gráfico con una anotación interna.g3 <- qplot(Sepal.Length,  Petal.Length, data=iris, colour=Species) +annotate("text", x = 6, y = 5, label = "Texto dentro del gráfico")

# Creo un texto largo.string <- "This famous (Fisher's or Anderson's) iris data set gives the measurements in centimeters of the variables sepal length and width and petal length and 
width, respectively, for 50 flowers from each of 3 species of iris. The species are Iris setosa, versicolor, and virginica."# Junto el primer gráfico con el texto largo.
ggX <- arrangeGrob(g3, sub = textGrob(string, x = 0.1, y = 0.75, just = "left", gp = gpar(fontface = "italic", fontsize = 10)))dev.off()
# Creo una tabla
tabiris <- as.data.frame(with(iris, table(cut(Sepal.Length, quantile(Sepal.Length)), Species)))# Creo un texto gráfico con la tabladata_table <- ggplot(tabiris, aes(x = Var1, y = factor(Species), 
label = format(Freq, nsmall = 1), colour = Species)) + geom_text(size = 3.5) + theme_minimal( ) %+replace%theme( panel.grid.major = element_blank(), legend.position = "none", 
panel.border = element_blank(), axis.ticks = element_blank(),plot.margin = unit(c(0.5, 0.5, 0.5, 0.5), "lines")) + labs(x = NULL, y = NULL, title = 'Tabla de contingencia de Sepal.Length')

# Genero una serie de funciones para controlar los distintos componentes gráficos. Layout <- grid.layout(nrow = 2, ncol = 1, heights = unit(c(2, 0.5), c("null", "null")))
#grid.show.layout(Layout)vplayout <- function(...) {     grid.newpage()     pushViewport(viewport(layout = Layout)) }subplot <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y)
mmplot <- function(a, b) {   vplayout()   print(a, vp = subplot(1, 1))   print(b, vp = subplot(2, 1))}
# Creo el pdf para papel tamaño A4
pdf('PDFplot.pdf', paper="a4")mmplot(ggX, data_table)dev.off()
#> sessionInfo()#R version 2.15.2 (2012-10-26)#Platform: i386-w64-mingw32/i386 (32-bit)
##locale:#[1] LC_COLLATE=Spanish_Argentina.1252  LC_CTYPE=Spanish_Argentina.1252    LC_MONETARY=Spanish_Argentina.1252 LC_NUMERIC=C                      #[5] LC_TIME=Spanish_Argentina.1252    
##attached base packages:#[1] grid      stats     graphics  grDevices utils     datasets  methods   base     ##other attached packages:#[1] gridExtra_0.9.1 reshape_0.8.4   plyr_1.8        ggplot2_0.9.3  
##loaded via a namespace (and not attached):# [1] colorspace_1.2-0   dichromat_1.2-4    digest_0.6.0       gtable_0.1.2       labeling_0.1       MASS_7.3-22        munsell_0.4        proto_0.3-10       RColorBrewer_1.0-5
#[10] reshape2_1.2.2     scales_0.2.3       stringr_0.6.2     

Daniel Merino
El 15 de enero de 2013 09:58, José Luis Cañadas <canadasreche@gmail.com> escribió:

Podrías poner un ejemplo reproducible. A mi por ejemplo con



library(plotrix)

pdf(file="Rplot.pdf",paper="a4")

plot(pressure)

addtable2plot(0, 300, pressure[13:19, ])

text(200,600,"texto \n prueba")

dev.off()



Me expande tanto la tabla como el texto.. No he probado con funciones

auxiliares como polygon.





El día 15 de enero de 2013 13:09, Eva Prieto Castro

<evapcastro@yahoo.es> escribió:

> Buenos días:

>

> A ver si alguien me puede iluminar, porque ya he sobrepasado los límites de mi paciencia y de mi imaginación con este asunto:

>

> Dado un gráfico creado con un plot (y funciones auxiliares como polygon, etc.) y una tabla creada debajo de ese gráfico (creada con addtable2plot), y dados unos text situados a modo de título encima del plot y otros encima de la tabla, ¿por qué cuando trato de "expandir" (con paper="a4" en la función pdf) para volcar el "todo" en un pdf, aparece todo descuadrado?. Es como si únicamente expandiese el plot.


>

> Gracias.

>

>

> Atte.- Eva

>

>         [[alternative HTML version deleted]]

>

>

> _______________________________________________

> R-help-es mailing list

> R-help-es@r-project.org

> https://stat.ethz.ch/mailman/listinfo/r-help-es

>







--

--    0__    -------- José Luis Cañadas Reche

--    c/ /'_    --------  Tlf 675 741067

--   (*) \(*)

~~~~~~~~~



_______________________________________________

R-help-es mailing list

R-help-es@r-project.org

https://stat.ethz.ch/mailman/listinfo/r-help-es




-- 
Daniel

	[[alternative HTML version deleted]]

