Visualisation makeover for geospatial data
In 1 February 2021, the military force in Myanmar launched a coup and arrested the civilian leaders, leaving the country in a dire state. The protests over the coup is one of the largest in Myanmar history, and the military have utilised water cannon, rubber bullets and live ammunition in the effort to stop the protesters (Cuddy 2021).
The country has long been led by a military junta, but a hope for democracy came when the military junta unexpectedly dissolved and appoints civilian ruler, President Then Sein. In 2015, Myanmar held an election, with Aung San Suu Kyi emerging as its de facto leader (Maizland 2021). Ms Suu Kyi is an ignitor for democracy in Myanmar, earning a Nobel Peace Prize while she was under house arrest in 1991 (Cuddy 2021). However, she lost much of her international support after her defence of the military who abuses Muslim Rohingya Minority, and led hundreds of thousands of them fleeing to Bangladesh in 2017 (News 2021).
Using the Armed Conflict Location & Event Data Project (ACLED) - a disaggregated data collection, analysis & crisis mapping platform that aims to bring clarity to crisis - we are going to examine the armed conflicts that occur in Myanmar during the course of 2015 to 2020.
The original visualisation is the South East Asia Armed Conflict Analysis that is hosted in Tableau Public. It reveals the spatio-temporal patterns of armed conflict in selcted South East Asian countries between 2015 and 2020 by using a one-to-one dot-density map where each dot represent an actual event (“Dot Density Maps” 2020), with different colours used for each type of events.
The critiques are given in terms of clarity, aesthetics, and interactivity.
There is no way to see the distribution of events by year, even though a time series line chart exists.
The line chart that shows the time series of events is hard to compare because they are stacked vertically. Additionally, the axes are not standardized, so it does not have a fixed point of reference to compare the values.
The time series is not very accurate because if an event type does not occur in a particular year, the record is shown as null rather than zero. This breaks the line into several parts instead of showing a decrease in value.
2. There are a lot of different colours being used to represent the different types of events.The choice of colours is too reliant on hue variation instead of value or chroma, hence increasing the visual clutter (Stone 2006). It is better to limit the colour palette to 2 or 3 hues and use variation of colour intensity to make the visualisation more aesthetically pleasing and functional.
Although the original visualisation contains multiple countrieds in Southeast Asia, I chose to focus on Myanmar because of the recent political situation in Myanmar. The proposed design is shown in Figure 7.
Due to the problem of the overlapping points (Clarity #1), I have decided to use another way to represent the spatial data. Initially, I thought of using a proportional symbol map with lower opacity to better represent the data, as the overlapping points will contribute to the size of the symbol. However, this method requires aggregation, and there is a problem in the mapping of the geographical data. There were hundreds of unrecognized location from the Admin 3 attribute (The third largest sub-national administrative region in which the event took place (Event Data Project (ACLED) 2019)). Aggregating on the higher level would not solve the issue. Even though the number of unrecognized location would be manageable to resolve manually, but the map will be less meaningful because it is too aggregated. Therefore, as shown in number 2 in Figure 7, I have decided to create density maps to represent the data instead.
This alternative resolves the issues shown in section 2 as the following. Numerical references in the section below are tied to the numbered items in the proposed alternative visualisation in Figure 7.
Using density maps to show the geospatial patterns of the armed conflict events can take advantage of the overlapping points (2) . However since we cannot use varying colours for the density maps, a filter for the event types (1) is used instead.nes Only Violence Against Civilian](./images/2. Philippines Violence against Civilian.png)
The visualisation will use a trellis for both the density map (2) and the bar chart (3). This allows the user to see the distribution of events in the geographical location as well as by event type by year.
The bar chart is broken down by year in the trellis (3). This would make is easier for the user to compare the values between event types, even though it might be difficult to compare different years. However, by standardizing the axes for the values, the user can still compare the height of the bars in different years when the difference is big.
Line chart is not used.
Using a filter instead of using different colours for each even type removes the need to put a colour legend.
Description is provided (4).
Use more descriptive axis labels (not shown in Figure 7).
Adjust the size to make sure they are not truncated (not shown in Figure 7).
Do not use the default map background from Tableau but use the shp file for Myanmar to provide the map background (2).
The different event types are no longer differentiated by colours because it is used as a filter (1,2). The bar charts will also use the same colour for the bars. A colour palette of black and red will be used for this visualisation.
Show the name of the location, the date or description of event in the tooltip (not shown in Figure 7).
Use animation (not shown in Figure 7).
Other than addressing the issues in the original visualisation, there are some additional features added to the dashboard.
I will assume you have some basic knowledge of Tableau, so I will not describe into very deep details for the routine Tableau operations such as importing data. Refer to my first dataviz makeover post if you need more details.



The dataset that I have contains multiple countries in Southeast Asia, but since we are focusing on Myanmar, we can filter out the rest of the countries.


I also want to remove “Strategic Development.” As strategic development is a non-armed event. Repeat the steps, but this time we add filter for Event Type and exclude Strategic Development.
We can use parameters to simulate a custom filter. I have decided to use icons as the buttons, so first we need to download the icons first. I got my icons from The Noun Project.

We also need to create an Excel file containing all the values for the icons.

I added a value called “All” on top of the existing event types.

From the data pane, click on the grey triangle beside the search box > Create Parameter… 
A dialog box will appear for us to enter the details of the parameters

Your screen should look like the screenshot below.


Your new custom icons should appear under Shape Palette. If it doesn’t, try Reload Shapes or close the workbook and open again.
Now We just have to do some adjustments to make it look nicer.


Unshow the header by right-clicking on the Event Type Value pill in the Rows Shelf > Uncheck Show Header. We do not need it anymore because we already have the label.
Double Click on the Size on the Marks Card and adjust the size to make the icon bigger
Remove the lines on the top and bottom of the icons. From the drop-down menu, click Format > Borders then change the Pane Row Divider to None in the panel.

We have done the first element of the visualisation. Your screen should look like the screenshot below. The linking for the filter will be done later at the dashboard.
![]()
For the density maps, we will need to create another parameter and several calculated fields.
Repeat the steps to create parameter shown in section 4.1 for a parameter called Select Measure. The values in the Excel file are “Fatalities” and “Number of Events.”
The properties of the parameter is shown below.

To create calculated fields, click the grey triangle beside the search bar like if you are going to create a parameter > Create Calculated Field… Make sure that the ACLED Data Source is selected.
The calculated fields to be created are as the following:
if [Select Event Type] == "All"
then [Event Id Cnty]
elseif [Select Event Type] == [Event Type]
then [Event Id Cnty]
end
We need a dual axis to create the density map if we want to remove all background maps. We will only use the National Boundary as the background map.
Your screen should look like the screenshot below.




To create trellis map, we are going to add an additional field in the Columns shelf Tableau can automatically create the chart for us.


We want to make the tooltip more informative, so we need to add the fields to the Tooltip on the Marks Card first.


The final look for my density map is shown below.

We will have a breakdown of the event type under each cell of density map. We will need to create several parameters and calculated fields first.
The properties of the parameter should look as the following. 
We need more calculated fields to enable the interactive functions to select the measure to be displayed, whether it is the number of events or the number of fatalities. The name of the calculated fields and the formulas are listed below.
1
CASE [Select Measure]
when "Number of Events" then [Number of Records]
when "Fatalities" then [Fatalities]
END
Your screen should look like the screenshot below.



Rather than repeating all the y-axis label for each cell, we will create a dynamic text to show what measure is being displayed later. * Double-click on the “Selected Measure” axis label * Delete the Title and leave it empty


The trellis bar chart should look like the screenshot below.

For this visualisation, we will use the State and Boundary as the Background map and highlight the state with the highest sum of measure using a red colour. The steps to highlight the max value is inpired by Rahul (2017) and Tableau Knowledge Base(2017). As with the previous visualisations, we need to create a calculated field first.
We will make use of the fixed function which disaggregates the calculation and use a fixed level of detail (Tableau 2020). Without using fixed function, we will get an error saying an aggregate field cannot be further aggregated.
if [Select Event Type] == "All"
then [Selected Measure]
elseif [Select Event Type] == [Event Type]
then [Selected Measure]
else 0
end
Max({fixed [State]: sum([Selected Event Type])})
if {fixed [State]: sum([Selected Event Type])} == {fixed:[Max Measure]}
then "Yes"
else "No"
end
Your screen should look like the screnshot below.

We are going to create two more calculated fields just for the tooltip. We will return a value for the highest state but return NULL for the rest. This is to prevent the tooltip from showing if the user hovers over the other states.
if [isHighestState] == "Yes"
then [State]
else NULL
END
if [isHighestState] == "Yes"
then [Select Measure] + " of " + [Select Event Type] + " : "
else NULL
END
if [isHighestState] == "Yes"
then {fixed: [Max Measure]}
else NULL
END

As with the density map, remove the background map and remove interactive map features. Map > Map Layers… > Washout = 100% * Map > Map Options… > Uncheck all * Change the colour of the map * Double-click on Color on the Marks Card * Increase Opacity to 100% * Click Edit Colors… > Change “No” to black and “Yes” to red * Remove border by clicking Format menu > Borders > Rows > change Pane Row Divider to None * Repeat for columns

After the formatting, your screen should look similar to the screenshot below.

If the state that is being highlighted is different, it might be due to the different parameters being selected. The parameters that were selected on this screenshot is Fatalities of Protest event type. If we want to change it, we can right-click on the parameters on the Data Pane > Show Parameter.
Next, we are going to use the existing calculated fields to create a bar chart that displays the top 10 states in descending order by the values selected in the parameter.


SUM([Selected Event Type])
Your screen should only show 10 states now.


The final look for top states bar chart is shown below.

We are going to create a year label to replace the labels in the density maps and the trellis bar charts that we have removed.
Your screen should look like the screenshot below.


The formatted year label is shown in the screenshot below.

For the measure parameter buttons, we need to create each button separately in different sheets so we can move the buttons freely.
Your screen should look like the screenshot below.



The final look of the button sheet looks like the screenshot below.

Repeat the steps to create another button for Number of Events.

We will now combine all the different components into one dashboard.

There is also a text object at the bottom, but it is truncated due to the screen size.

We have 3 sheets in the dashboard that is meant to be used as a filter: Icons, Fatalities, and Number of Events. We can change the value of parameters according to actions performed on these sheet.


We can try to click the different icons and observe how the density maps and the top states visualisation changes according to the selection. Note that the trellis bar chart will not change because it always has all event types by default.
Repeat adding parameter action for the Fatalities with the following propoerties.

Repeat again for Number of Events, keeping all the properties for Fatalities Select Measure action except changing the source sheets to Number of Events only.
We will use the year as a highlighter, but we will use hover action instead of select. * Click Dashboard menu > Actions… > Add Action > Highlight … * Set the Action as hover and source sheet as Year. * Only keep Bar Charts of Event Type and Density Map as the target sheet.



Congratulations! We have completed our dashboard.

This is consistent to the Rohingya and Shan State Army - North conflicts that we may have seen in the news.

The total number of events are highest in Shan, with more concentration on the western part of Myanmar on 2019 and 2020.

Even though Yangon is no longer the capital city of Myanmar since 2005, people still protests the most in Yangon. Some analysts believed that the move of capital city is motivated by the desire to shield the military from people’s protests, as Yangon is highly populated. If this analysis is true, the strategy seems to be working.

After the vast publication of Rohingya crisis in 2017, the density of violence against civilians decreases in 2018 before picking up again in 2019. This shows that media publication and protests actually helps to deter people from performing injustice, although it might be only temporary. This shows ignorance is very dangerous.
For battles, explosions, and violence against civilians, we can see that the hotspots never disappears suddenly. It will continue to exist the subsequent years, although it may fade gradually. Riot is an exception because the number is too low, so the points in the map are individual location of a riot event. This shows that the process of conflict resolution must be pursued consistently and patiently, even when the progress seem to be close to none.



Battle has the highest number of events and the highest number of fatalities. Violence has the second highest number of fatalities, even though the number of events ranks 4th. This is due to the spike of fatalities caused by violence against civilians in 2017. Battles is very costly, and therefore we should strive to maintain peace.


For attribution, please cite this work as
Djojosaputro (2021, March 16). Gabriella Pauline: DataViz Makeover 3 - Armed Conflict Location and Event Data. Retrieved from https://gabriellapauline.netlify.app/posts/2021-03-16-dataviz-makeover-3/
BibTeX citation
@misc{djojosaputro2021dataviz,
author = {Djojosaputro, Gabriella Pauline},
title = {Gabriella Pauline: DataViz Makeover 3 - Armed Conflict Location and Event Data},
url = {https://gabriellapauline.netlify.app/posts/2021-03-16-dataviz-makeover-3/},
year = {2021}
}