next up previous contents index
Next: 7.11 Making a 3-D Up: 7. Cook-book Previous: 7.9 Plotting time-series along   Contents   Index


7.10 A geographical bar graph plot

Our next and perhaps most business-like example presents a three-dimensional bar graph plot showing the geographic distribution of the membership in the American Geophysical Union (AGU). The input data was taken from the January 2008 AGU member directory and added up to give total members per continent. We decide to plot a 3-D column centered on each continent with a height that is proportional to the logarithm of the membership. A log$_{10}$-scale is used since the memberships vary by almost 3 orders of magnitude. We choose a plain linear projection for the basemap and add the columns and text on top. Our script that produces Figure 7.10 reads:




#!/bin/sh
#               GMT EXAMPLE 10
#
# Purpose:      Make 3-D bar graph on top of perspective map
# GMT progs:    pscoast, pstext, psxyz
# Unix progs:   $AWK, rm
#
ps=example_10.ps
pscoast -Rd -JX8id/5id -Dc -Gblack -E200/40 -K -U"Example 10 in Cookbook" > $ps
psxyz agu2008.d -R-180/180/-90/90/1/100000 -J -JZ2.5il -So0.3ib1 -Ggray -Wthinner \
        -B60g60/30g30/a1p:Memberships:WSneZ -O -K -E200/40 >> $ps
$AWK '{print $1, $2, 20, 0, 0, "RM", $3}' agu2008.d \
        | pstext -Rd -J -O -K -E200/40 -Gwhite -Sthinner -D-0.2i/0 >> $ps
echo "4.5 6 30 0 5 BC AGU 2008 Membership Distribution" | pstext -R0/11/0/8.5 -Jx1i -O >> $ps
rm -f .gmt*


Figure 7.10: Geographical bar graph.
\includegraphics[scale=0.5]{scripts/example_10}


next up previous contents index
Next: 7.11 Making a 3-D Up: 7. Cook-book Previous: 7.9 Plotting time-series along   Contents   Index
Paul Wessel 2008-05-15