MATLAB Answers

Is it possible to draw a 3D choropleth (heatmap) Map in Matlab?

10 views (last 30 days)
Hawre Jalal
Hawre Jalal on 27 Jul 2017
Commented: Chad Greene on 31 Jul 2017
Choropleth graphs are very useful to show multi-dimensional data. I can produce them in GIS software, such as ArcGIS (see the picture below from an online resource), but I need to plot a large number of these and I was hoping to use Matlab to automate the process. I am familiar with programming in Matlab, but have just started to use the Mapping toolbox. So, I am just wondering if someone has any tips that will help to produce these maps in Matlab.
  1 Comment
Chad Greene
Chad Greene on 31 Jul 2017
I would say simply don't make a 3D map like this, and I'm pretty sure Edward Tufte would agree.
In your example, the variable is represented redundantly by color and height. Never let the dimensions of the data display exceed the dimensions of the data being plotted; here's why: The oblique view prevents us from directly comparing the heights of any two bars, and it also prevents us from measuring the distance or angle between locations. The lighting applied to those bars is slick, but it also means that the colors are inconsistently shaded, and thus the relationship between variable value and color is lost. The end effect is it doesn't show spatial relationships or the variable accurately.
For a variable that varies in 2D space, simply plot that variable in 2D space and use a perceptually uniform colormap.

Sign in to comment.

Answers (1)

Shruti Shivaramakrishnan
Shruti Shivaramakrishnan on 31 Jul 2017
I believe that the following example link might be helpful in creating chloropleth graphs using the mapping toolbox:
You could also look into thematic maps which is explained in the following link:;
Also, the following link can help you read the file in an appropriate format:

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by