Estoy usando plotrix
en R
trazar un mapa a nivel estatal de los EE.UU.. Tiene una función excelente floating.pie
para colocar gráficos circulares en cada estado.
Me pregunto si hay funciones similares dentro del plotrix
paquete para mostrar gráficos de barras en cada estado. (Eché un vistazo a la documentación y las funciones que se ocupan de los gráficos de barras no parecen tener esta posibilidad, pero solo quería estar seguro.) Prefiero trabajar dentro del paquete plotrix si es posible, pero siéntase libre de nombrar Otros paquetes.
Como ejemplo, me interesaría producir un mapa similar a este (pero para los EE. UU.):
Para mi mapa de EE. UU., Habría 50 gráficos de barras, uno para cada estado.
Obtuve este mapa de /programming/20465070/barplots-on-a-map , pero parece que ggsubplot no funciona en mi versión de R (similar a lo que otros han estado diciendo en la publicación )
fuente
ggsubplot
paquete, pero ahora está en desuso y no funcionará (como mencionaste). Quizás esta publicación pueda ser un punto de partida: stackoverflow.com/questions/36063043/…Respuestas:
Sé que realmente llego tarde con esto, pero creo que he encontrado una solución bastante simple.
Si observa el código fuente de
floating.pie()
(por ejemplo, llamandogetAnywhere(floating.pie)
), notará que utiliza un enfoque muy simple pero efectivo: dibujar los segmentos circulares como polígonos. Si todo lo que desea de sus gráficos de barras son las barras (sin etiquetas, ejes, etc.), puede seguir el mismo enfoque y escribir su propia función. Aquí hay una versión rápida y sucia:x
es para que los valores sean representados por las barrasxllc
yyllc
especifique la posición de la esquina inferior izquierda de la barra izquierda en cualquier sistema de coordenadas que esté utilizandobarwidth
ymaxheight
se usan para escalar el tamaño de las barrasAquí hay una demostración con una
sp
trama básica . No creo que haya trabajadoplotrix
antes, pero en función de cómofloating.pie
funciona, asumiría que esto también debería funcionarplotrix
.El resultado se ve así:
fuente
mapbars
se define en el primer gran bloque de código, donde se dicemapbars <- function (x, xllc = 0, ...
. Deberá ejecutar primero toda esa sección de código para "enseñar" a R el nuevo comando.ggplot2 y ggvis son dos bibliotecas que pueden ayudarlo a mostrar las parcelas en el mapa. En ggplot2 puede trazar burbujas en el mapa y luego solo necesita dar aes () las coordenadas que no tienen nada que ver con el tamaño y el color de la burbuja. Con respecto al gráfico de barras, debe asignar al menos 2 pares de x e y, uno para la ubicación del gráfico de barras y el otro para la altura y el ancho del gráfico de barras. En otras palabras, necesitas conocer las coordenadas de 4 esquinas para una barra.
fuente