En el ejemplo anterior (20.1) se muestra como dibujar columnas 3-D. Se explica como dibujar columnas apiladas en un mapa con perspectiva. Se dibujar 4 columnas correspondientes a la cantidad 1º, 2º, 3º y 4º puesto de las Copa América.
0. Datos: Archivo csv conformado por 9 columnas: longitud, latitud, 1º puesto, 2º puesto, 3º puesto, 4º puesto, 1º + 2º, 1º + 2 + 3, 1 +2 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. La suma de posiciones (columnas 6, 7 y 8) se utilizan como base para apilar las columnas.
Link: CopaAmerica.csv
REM Nombre archivo de entrada
SET INPUT="CopaAmerica.csv"
1. Mapa Base: mapa en perspectiva con áreas húmedas y secas pintadas, límites de los países, título de la figura y eje vertical.
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 -JZ -O -K -p -Df >> %OUT% -N1
gmt psbasemap -R -J -JZ -O -K -p >> %OUT% -BWSneZ -Ba
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 apiladas: con psxyz se dibujan las columnas centradas en las coordenadas (columnas 0 y 1) que se extiende desde una base hasta una altura (valores 3 y 4) con los parámetros:
- -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,6,2: columnas con los datos de entrada (longitud, latitud, valor base, valor altura).
a. 1º puesto: Columnas 0, 1, 2. En este caso, al omitirse el valor de la base se asume que corresponde a 0.
gmt psxyz -R -J -JZ -O -K -p >> %OUT% %INPUT% -So0.5c -Gblue -Wthinner -i0,1,2
b. 2º Puesto: Columnas 0, 1, 6 (1º + 2º puestos) y 2 (1º puestos).
gmt psxyz -R -J -JZ -O -K -p >> %OUT% %INPUT% -So0.5cb -Ggreen -Wthinner -i0,1,6,2
c. 3º puesto: Columnas 0, 1, 7 (1º + 2º + 3º puestos) y 6 (1º + 2º puestos).
gmt psxyz -R -J -JZ -O -K -p >> %OUT% %INPUT% -So0.5cb -Gyellow -Wthinner -i0,1,6,7
d. 4º puesto: Columnas 0, 1, 8 (1º + 2º + 3º + 4º puestos) y 7 (1º + 2º + 3º puestos) .
gmt psxyz -R -J -JZ -O -K -p >> %OUT% %INPUT% -So0.5cb -Gred -Wthinner -i0,1,8,7
3. Agregar valores: Para escribir en la base la suma de los 4 primeros puestos de campeonatos en la base de las columnas, primero se utiliza gmtconvert para extraer los datos de las columnas 0, 1 y 8. 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).
4. Leyenda: Con echo primero se crea el archivo auxiliar que luego se dibuja con pslegend.
echo N 1 >> "temp_leyenda"
echo S 0.25c r 0.5c blue 0.25p 0.75c 1 Puesto >> "temp_leyenda"
echo S 0.25c r 0.5c green 0.25p 0.75c 2 Puesto >> "temp_leyenda"
echo S 0.25c r 0.5c yellow 0.25p 0.75c 3 Puesto >> "temp_leyenda"
echo S 0.25c r 0.5c red 0.25p 0.75c 4 Puesto >> "temp_leyenda"
gmt pslegend -R -J -JZ -O -K -p >> %OUT% "temp_leyenda" -DjLB+o0.2i+w1.35i/0+jBL -F+glightgrey+pthinner+s-4p/-6p/grey20@40
echo S 0.25c r 0.5c red 0.25p 0.75c 4 Puesto >> "temp_leyenda"
gmt pslegend -R -J -JZ -O -K -p >> %OUT% "temp_leyenda" -DjLB+o0.2i+w1.35i/0+jBL -F+glightgrey+pthinner+s-4p/-6p/grey20@40
No hay comentarios.:
Publicar un comentario