Dibujar columnas 3-D en un mapa con perspectiva que indiquen la cantidad de Copas Américas ganadas y de participaciones por país.
Introducción:
En ocasiones es útil mostrar la distribución geográfica de un dato con barras 3-D centrado donde los colores y altura corresponde a la cantidad de Copas Américas ganadas por cada país.
Este ejemplo es una adaptación del ejemplo 10 de la galería histórica de GMT adaptado para su utilización en Windows sin awk.
Script
Datos:
0. Mapa Base: Los siguientes comandos crean el mapa base visto en perspectiva con áreas húmedas y secas pintadas, límite de países y marco del mapa (ver 12.1):
gmt pscoast -R -J -O -K -JZ -p >> %OUT% -Df -G200
gmt pscoast -R -J -O -K -JZ -p >> %OUT% -Sdodgerblue2 -C200 -Df
gmt pscoast -R -J -O -K -JZ -p >> %OUT% -Df -N1
gmt psbasemap -R -J -JZ -O -K -p >> %OUT% -BWSneZ -Ba
1. Título y eje Z: con psbasemap -B se agrega un título y el eje Z (con anotaciones, intervalos y leyenda). El rango y la tamaño del eje Z se definen en las variables REGION3D (0 a 15) y PROZ (5 cm).
SET REGION3D=%REGION%/0/15
SET PROZ=5c
gmt psbasemap -R -J -JZ -O -K -p >> %OUT% -B+t"Copas Am\351ricas Ganadas"
gmt psbasemap -R -J -JZ -O -K -p >> %OUT% -BWSneZ+b -Bzafg+l"Cantidad"
2. Columnas de la Copas Américas ganadas: psxyz permite dibujar los datos con los siguientes argumentos:
3. Agregar valores: Para escribir la cantidad de campeonatos en la base de las columnas, primero se utiliza gmtconvert para extraer los datos de las columnas 0, 1 y 2 (del archivo CopaAmerica.csv). Estos se pasan a pstext (mediante el símbolo pleca) con los siguientes argumentos:
A continuación vamos a colorear las columnas según la cantidad de copas ganadas (punto 4) y las participaciones (punto 5).
4. Rango valores: gmtinfo permite conocer el rango de valores de la 3a y 4a columna (2 y 3).
gmtinfo "CopaAmerica.csv" -T1+c2
gmtinfo "CopaAmerica.csv" -T1+c3
4A. Paleta de Colores: Creamos una paleta de colores (CPT) con el rango de valores (ver punto anterior). Se guarda como %color%. Se usa una CPT discreta (sin -Z) dado que se representan valores enteros.
gmt makecpt -Crainbow -T0/16/1 > %color%
4B. Colorear columna: nuevamente psxyz permite dibujar las columnas. Se debe utilizar el argumento -C en lugar de -G, e indicar la 3a columna con los valores que se utilizan para colorear (en este caso se repite la columna 2).
5. Escala colores: psscale dibuja la escala de colores.
6. Datos 3: para que los colores represente la cantidad de participaciones hay que modificar el intervalo de makecpt (-T17/44/1), e indicar la 4a columna del archivo (-i0,1,2,3) en psxyz y el nombre de la escala de colores.
gmt makecpt -Crainbow -T17/44/1 > %color%
gmt psxyz -R -J -JZ -O -K -p >> %OUT% "CopaAmerica.csv" -So0.5c -Wthinner -C%color% -i0,1,2,3
gmt psscale -R -J -JZ -O -K -p -C%color% >> %OUT% -DJRM+o0.3c/0+w13/0.618c -L0.1 -B+l"Participaciones"
Introducción:
En ocasiones es útil mostrar la distribución geográfica de un dato con barras 3-D centrado donde los colores y altura corresponde a la cantidad de Copas Américas ganadas por cada país.
Script
Datos:
- CopaAmerica.csv: Archivo csv conformado por 5 columnas: longitud, latitud, Copas Américas ganadas, participaciones y país. La longitud y latitud corresponden al centroide de cada país (Centroids_Countrys.txt, link original) y definen la posición donde se dibujarán las columnas.
0. Mapa Base: Los siguientes comandos crean el mapa base visto en perspectiva con áreas húmedas y secas pintadas, límite de países y marco del mapa (ver 12.1):
gmt pscoast -R -J -O -K -JZ -p >> %OUT% -Df -G200
gmt pscoast -R -J -O -K -JZ -p >> %OUT% -Sdodgerblue2 -C200 -Df
gmt pscoast -R -J -O -K -JZ -p >> %OUT% -Df -N1
gmt psbasemap -R -J -JZ -O -K -p >> %OUT% -BWSneZ -Ba
SET REGION3D=%REGION%/0/15
SET PROZ=5c
gmt psbasemap -R -J -JZ -O -K -p >> %OUT% -B+t"Copas Am\351ricas Ganadas"
gmt psbasemap -R -J -JZ -O -K -p >> %OUT% -BWSneZ+b -Bzafg+l"Cantidad"
- -So0.5c: dibuja columnas en 3-D con una base cuadrada de 0,5 cm de lado.
- -G: color de la columna.
- -W: propiedades de las líneas.
- -i0,1,2: columnas con los datos de entrada (longitud, latitud, cantidad de campeonatos).
3. Agregar valores: Para escribir la cantidad de campeonatos en la base de las columnas, primero se utiliza gmtconvert para extraer los datos de las columnas 0, 1 y 2 (del archivo CopaAmerica.csv). Estos se pasan a pstext (mediante el símbolo pleca) con los siguientes argumentos:
- -Gwhite@30: fondo blanco con 30% de transparencia.
- -D0/-0.8c: Desplaza el texto 8 mm hacia abajo (con respecto a la posición geográfica definidas por las columnas 0 y 1).
- -F: Fuente del texto (tamaño, tipo y borde de letra, justificación).
A continuación vamos a colorear las columnas según la cantidad de copas ganadas (punto 4) y las participaciones (punto 5).
4. Rango valores: gmtinfo permite conocer el rango de valores de la 3a y 4a columna (2 y 3).
gmtinfo "CopaAmerica.csv" -T1+c2
gmtinfo "CopaAmerica.csv" -T1+c3
4A. Paleta de Colores: Creamos una paleta de colores (CPT) con el rango de valores (ver punto anterior). Se guarda como %color%. Se usa una CPT discreta (sin -Z) dado que se representan valores enteros.
- -T: rango de valores.
- -C: CPT maestra.
gmt makecpt -Crainbow -T0/16/1 > %color%
4B. Colorear columna: nuevamente psxyz permite dibujar las columnas. Se debe utilizar el argumento -C en lugar de -G, e indicar la 3a columna con los valores que se utilizan para colorear (en este caso se repite la columna 2).
- -C%color%: utiliza la CPT definida en el punto anterior.
- -i0,1,2,2: define las columnas con los datos del archivo de entrada.
5. Escala colores: psscale dibuja la escala de colores.
- -D: posición y dimensiones de la escala.
- -B: anotaciones y leyenda del eje.
- -L0.1: Dibuja rectángulos de igual tamaño y la separación (en cm) entre ellos.
6. Datos 3: para que los colores represente la cantidad de participaciones hay que modificar el intervalo de makecpt (-T17/44/1), e indicar la 4a columna del archivo (-i0,1,2,3) en psxyz y el nombre de la escala de colores.
gmt makecpt -Crainbow -T17/44/1 > %color%
gmt psxyz -R -J -JZ -O -K -p >> %OUT% "CopaAmerica.csv" -So0.5c -Wthinner -C%color% -i0,1,2,3
gmt psscale -R -J -JZ -O -K -p -C%color% >> %OUT% -DJRM+o0.3c/0+w13/0.618c -L0.1 -B+l"Participaciones"
No hay comentarios.:
Publicar un comentario