I’ve been reading Ronald Findlay and Kevin H. O’Rourke’s 2009 book Power and Plenty: Trade, War, and the World Economy in the Second Millennium and finding it an excellent piece of big picture economic history.
I felt the urge to re-express one of their figures (Figure 4.7 in the original). The original is made up of two flow diagrams, summarising a fantastic piece of work by Jan DeVries pulling together the best understanding of where silver was traded from and to in the seventeenth and eighteenth centuries. Here’s my reworked effort:
Some points worth noting:
- Substantial amounts of silver remained in Europe. The trade was not, by a long shot, all about shipping silver from the Americas to China via Europe, although this was clearly a significant feature.
- In the earlier period, there was more silver travelling from the Americas via the Pacific (stopping off at Manila) to China and the rest of East Asian than via Europe and the Cape of Good Hope. By the mid eighteenth century, the Europe/Cape route was far larger.
- Although the Chinese Ming dynasty fell in 1644, suspiciously soon after the seclusion of Japan from the outside world in 1635, the fall can’t be blamed on a shortage of silver because the decline was compensated for by increases from the Americas.
- Not all the silver going via the Baltic and Levant “routes” makes it to East Asia. Some stays in the Middle East and Russia. In the diagram above this is shown by the ribbons flowing from the Baltic and Levant to South East Asia being only half the width of those flowing from Western Europe to the Baltic and Levant. I’m not entirely happy with this aspect of the diagram, but it’s good enough for now.
I don’t have access to DeVries’ original 2003 article:
- “Connecting Europe and Asia: a quantitative analysis of the Cape-route trade, 1497– 1795”. In Global Connections and Monetary History, 1470– 1800 (ed. D. O. Flynn, A. Gir ´ ldez, and R. von Glahn). Aldershot: Ashgate.,
but it must be an impressive piece of detective work. Jan de Vries has a web page at Berkeley. Here’s his flow diagrams as reproduced by Findlay and O’Rourke:
Note that the caption says the flows are in kilogrammes per year, but it’s obvious from the text that this is a typo and in fact the measures are in tonnes per year.
I wanted to improve this diagram in several ways to give it a more immediate visual impact related to the underlying data:
- use colour rather than shape to indicate which areas were producers and which were consumers
- use width of lines to show volumes so it becomes a Sankey diagram
- use animation to facilitate direct comparison of the two periods
In combination, this should be more effective than the wireframe original at drawing the viewer’s eye to the increase in volume in the Americas - Atlantic - Europe - Cape - Asia triangle, and the reduction to nothing in flows from Japan when the Tokugawa regime shut that country to the world and expelled the Portuguese traders who had been making a nice living carrying between China and Japan.
I also rounded a few decimal numbers that in the original gave a false idea of precision.
To do this efficiently for two diagrams that have the same basic structure, I created a project-specific function in R for the purpose of drawing a Sankey chart for different levels of silver flows. The two images are created separately as PNG files, and then I use ImageMagick to tie them together into an animated GIF. To allow the whole thing to be run programmatically from R, I send the command to ImageMagick from R, effectively using R as a shell script for that part of the program. This means I don’t need to leave my R development environment to run iterations of the program (for example, while tweaking exactly where each continent’s label is placed on the page).
The actual drawing of the plots is done by January Weiner’s excellent
riverplot R package. Until
riverplot came out some time in the last year or so, drawing Sankey charts was either a pain, or impossible without specialist software. It’s great that we can now draw and polish (to a degree) Sankey charts without leaving the R environment.
One trick needed for this, common when you want to set a scale to be the same in multiple plots, was to draw an invisible (ie white) ribbon connecting two invisible nodes at the top of the diagram, reflecting movement of 650 tonnes per year of silver between two imaginary locations. This value is controlled by the
cal_width argument in my
silver() function below. As 650 is equal to or larger than any of the actual flows, it forms the calibration value against which all the other ribbon widths are defined. This means the widths of the ribbons in the two images are comparable and on the same scale.