Thursday, August 16, 2012

Insertar gráfica dentro de otra gráfica en R

Para poder insertar una gráfica de menor tamaño dentro de otra mayor, en R utilizamos la función par().
En un ejemplo gráficaremos una distribución de datos con una curva de ajuste, y después insertaremos una gráfica de los mismos datos pero representados en log vs log.


>plot(x$datosx,y$datosy, bty='l', col = "azure4", xlab='Size', ylab='Number of Y', pch =19, xlim = c(0,10000), ylim = c(0,2800),xaxs = 'i', yaxs = 'i');

>points(otrox$,datosx, otroy$datosy, col = "darkred");


>axis(1, las=1, at=500*0:20);

>lines(1.8183459166*x^0.74506574);

En esta línea el rotulo estará en la esquina inferior derecha.
>legend("bottomright" , c('DatosX', 'DatosY', 'Power-law model.  y = 1.8183*x^0.7450', 'R*R: 0.857'), col = c('azure4','darkred','black','white'), pch=c(19, 1,3,0), lty = c(0,0,1,0), lwd=2, bty='n');

En esta linea generamos el especio para la siguiente gráfica que estará en la esquina superior izquierda

>par(fig=c(0.08,0.45,0.48,1), new=TRUE);

>plot(log(x$datosx),log(y$datosy), col = "azure4", main = 'Log vs Log ', xlab='', ylab='',cex.lab = 0.8, cex.main = 1, log = "xy", pch =19);

Después de la función par() podemos graficar  nuestros datos a nuestro gusto, y se verá reflejado en la nueva figura de menor tañano.