Trajectories of Refugees Around the Globe in 2020



The visualization is about showing the trajectories of refugees all around the world. The dataset includes the countries refugees ran out and the countries refugees moved in. To do the networking visualization, I turned them into source and target nodes perpectively. Then using links to connect them.


The following steps are the process for creating the refugee networking visualization.

Finding the Dataset

I collected the data from The UN Refugee Agency (UNCR) official website which offered information about refugees escaping situations year by year.

Organizing the Data Structure

Even though I only chose a one-year dataset, the scope is still too big to present the visualization with a clear point of view. Hence, I decided to filter the refugee source countries. According to the UNCR, there were 67% of world refugees come from five countries: Syria, Venezuela, Afghanistan, South Sudan, and Myanmar. These five variables would be my main prospects to design the visualization.

To narrow the dataset, I apply Pandas, the Python library for data analysis to clean and organize the data. First of all, I used the group by function, to aggregate the number of every country-to-country trajectory. Moreover, I filtered the data to five source countries only and then turned the data frame into a JSON file which includes columns named ‘source’, target, and ‘weight.

Data Arrangement by Pandas

Data visualization

Instead of using the Gephi software which was taught last class, I challenged myself for applying the D3, the Javascript library for data visualization to create an interactive networking visualization.

At first, after finishing coding the basic structure. I only got lots of black dots sticking together which was hard to tell the meanings of nodes and links. To solve this, I used color to represent the nodes and links of five countries. Additionally, I adjust the circles’ size to differentiate the source and target countries.

Initial Graph


To show better clarity in depicting the trajectories of global refugees, I broadened the distance between the nodes. Also with the interactive features, we can drag the nodes and move the whole graph. These allow us to see the five distinct clusters Finally, apart from adding the legend, I append the labels for each node to help audiences view the patterns within the graph.


Managing labels

Labels of all nodes showing up at once seem to be a bit messy. I’ve tried to use the hover effects to show the labels information but it didn’t work out in the end. I will revise this after I get more familiar with D3 in the future.

Target countries color

In this graph, I use gray color to represent the target countries. It makes audiences easy to tell between target countries and source countries. However, it doesn’t help to recognize the clusters arranged by five countries.

The more appropriate method to present the data

After finishing designing the visualization, I was wondering that due to this data is about geographical patterns. Instead of applying the networks to show the trajectories, doing the flowing map may be a more specific and clear method to present the insights of the data.

Flow Map Designed by Martin Grandjean


Grandjean M. (2015) What does the global map of refugees (really) looks like?