Over the last year or so I have been playing around with different ways of showing changing global bilateral migrant stocks, adapting the animation code I created for the plots for region to region flows in this estimation paper. I am putting them online here in case they are of interest to anyone else.
The first plot below shows the change over time in the pattern of global migrant stocks. As with the regional plots in my previous post, the chords in the diagrams represent the connection between the places of birth (at the base of the chord) and places of residence (at the arrow head of the chord). The width of based of the chords correspond to the size of the migrant population in millions. Chords are ordered relative to their size, with the largest migrant stocks plotted at the beginning of the region segments. The ordering of chords jumps around over time as the relative rankings of the largest foreign-born populations change in each region. Values for the migrant population sizes are from the 2019 revision of the United Nations DESA International Migrant Stock Data.
Note: you might have to right click, select show controls and hit play to start the animations depending on your browsers - right clicking can also allow you to access controls on the play back speed.
The next two plots below show the differences between male and female global migrant distributions in 2019. In the first plot I keep the sector axis fixed at their maximums (over both sexes) making it easier to detect changes in the relative volume of a particular migrant corridor; for example the greater number of male migrants in West Asia and slightly more female migrants in North America.
In the second plot, I allow the sector axis to be specific to the regional totals. This (perhaps?) makes it easier to detect relative changes in the overall global patterns by sex.
One important feature of international migrants are their relative rarity. Professor Hein de Haas visually illustrates this point neatly using a pie chart, where his focus is predominantly on refugees, but also clearly shows the small share of the global population that are living outside their country of birth (under 4%). This feature is completely missed in chord diagrams of migrants like the ones above, where there is no way to gauge the share of the migrant populations relative to the total population.
In the plot below I tried to illustrate the relative sizes of migrant populations using the lengths of the sector axis in the to transitions between
- The number of migrants (which is a combination of migrant living in the region and migrants born in the region living elsewhere) as in the plots above, and
- The total population of the region.
The chord widths remain constant, fixed at the size of the bilateral migrant populations.
These plots were all produced in R, primarily using the
chordDiagram() function in the circlize package. A while ago I wrote a post with more details on creating animated chord diagrams. The specific code for the plots above gets a bit overwhelming (and is poorly commented) so I am hesitant to put it on Github, especially because the more complicated parts for defining the lines for the global regions can now be done much more easily using the new
group argument in the
chordDiagram() function, as described in a recent post by Zuguang Gu.