Gráfico de Burbuja 2 lados en R
Los gráficos de burbuja a 2 lados son usados con frecuencia para presentar los resultados de una investigación de tipo mapeo sistemático de literatura y revisión sistemática de literatura. Este tipo de gráficos puede hacerse en distintas herramientas como Excel y RStudio. Esta entrada explica como hacer este tipo de gráfico en RStudio:
Primero, debes tener instalado ggplot2 y devtools. La libreria ggplot es la libreria para generar gráficos personalizados en R y devtools permitrá instalar librerias desde Github. Luego de instaladas, debes activar la libreria ggplot2:
library(gglot2)
Luego, se debe isntalar la libreria SLMRtools que contiene la función para ayudar a generar los ejes "x" y "y" en las coordenadas correctas. Para eso se debe usar el comando:
devtools::install_github('brianpando/SLMRtools')
library(SLMRtools)
Con todas las librerias listas, ahora se debe crear el gráfico. Como ejemplo, el gráfico de arriba fue generado con la siguientes sentencias:
data<- data.frame(
x=c(-5,-5,-5, -4,-4, -3,-3,-3,-3, -2,-2,-2,-2,-2,-2, -1,-1,-1, 1,1,1,1,1,1, 4,4,4,4,4),
y=c( 1,3,2, 6,1, 1,3,2,5, 6,1,3,4,2,5, 1,3,5, 1,2,3,4,5,6, 1,2,3,4,5 ),
coverage=c(17,2,3, 1,1, 6,2,3,1, 1,40,11,4,7,1, 4,2,2, 12,2,4,2,1,1, 63,23,16,6,4),
product=c("A","A","A","B","B","C","C","C","C","D","D","D","D","D","D","E","E","E","AC","AA","AA","AA","AA","AA", "I", "I", "I", "I", "I") )
ggplot(data) + bubble2sides(data$x,data$y, ticks=10 , ylab='Languages', xlab='Contexts', x2lab='Tools', ylabels = c('EN','ES','JA','FR','PR','CA'),
xlabels = c('A','B','C','D','E'), x2labels = c('','Academy','','','Industry') )+
geom_point(aes(x = x, y = y, size=coverage, color=product, alpha=0.1)) +
geom_text(aes(x = x, y = y,label=coverage), size=5, nudge_x=0.0, nudge_y=-0.15) +
scale_size(range=c(2,20), breaks=c(20,60))+
theme(legend.position = 'none')
Los datos (data) deben estar distribuidos en el cuadrante izquierda usando valores negativos en el eje "x", y en el cuadrante derecho usando valores positivos en el eje "x". El eje "y" siempre contendrá valores positivos. la lista coverage es el que dá tamaños a las burbujas. Por ultimo con product, se dará color a las burbujas, por tanto se puede usar distintos colores para cada burbuja si se prefiere.
En la siguiente linea combina ggplot() + bubble2sides() + geom_point() + geom_text() + scale_size() + theme(). La función ggplot() es la encargada de generar la graficá. La función bubble2sides() es la encargada de crear y poner los ejes x y 2 en las coordenadas correctas, es decir crea el fondo donde se pintarán las burbujas. La función geom_point() es la funciona que pinta las burbujas en el lienzo basado en la propiedades "x" y "y" para colocarlas en las coordinadas correctas, coverage para el tamaño de la burbuja, color para pintar de un color especifico según la lista product, y un alpha para la transparencia si prefiere. Los colores puede ser cambiado usando otras combinaciones en la lista product, o podría cambiar un color solido por pintar el borde la burbuja. La función geom_text() es la que escribe el valor en la burbuja, en este ejemplo se uso el valor de covarage, podría usar el nombre del producto u otra lista de valores. La función scale_size() es la que escala el tamaño de las burbujas. Por ultimo, la función theme() es usada para quitar la leyenda que mostrará R por defecto en la parte derecha del gráfico.
Al ejecutar este ejemplo se genera el gráfico en el la ventana de gráficos de RStudio:
Ahora, hagalo usted! espero que ahora te sea más facil generar este tipo de gráfico. Si necesitas generar un gráfico de burbujas con 4 cuadrantes por favor escribeme para publicar una entrada con ese tipo de gráfico. Aegurate de que los datos en de "x, "y", "covarge" sean los correctos.
Comentarios
Publicar un comentario