I am creating a series of maps based on the Global forest resources assessment 2010 (FRA). A first example is the map below with the forest and woodland cover per country as percentage of the total land area. The pie charts show the proportion of the forest-woodland area covered by forest and the portion covered by woodland per country. There are obviously other, and possible better, ways to present this information, but I wanted to try out and demonstrate the use of chart overlay in QGIS.
So how to create this map? The first steps is to create the vector layer in GRASS GIS as explained here. Next step is to export the GRASS vector layer as a shapefile. This makes it possible to do all next steps in QGIS.
To create the base layer with forest and woodland as percentage of the total land area, you need to create a new column with the sum of the percentage of forest cover and woodland cover. This is easy done using the field calculator in QGIS, after which you can use the column to create the legend.
Creating a nice looking color gradient is very easy using the ‘New symboly’ option under the style tab of the Layer properties. I used the new ‘Pretty Breaks’ mode and a color ramp based on the BuGn scheme from ColorBrewer. You can find the option to select a ColorBrewer ramp from the ‘New color ramp…’ drop-down menu. Try out the different options to adapt to layer properties to your likening.
Next step – creating a pie chart overlay with one pie chart per country giving the proportion of forest-woodland covered by forest and which portion by woodland:
By default, QGIS will create a pie chart per polygon. However, especially the coastal countries often have many islands and you probably want to avoid to create a pie chart for each of these islands.
There are two ways to avoid this. First option is to select all islands and delete the values in the columns used to create the pie charts (or set them to zero). Alternatively, you can scale the pie charts according to the size of the polygon (step 1 below). Setting the surface area of a polygon to zero means no pie chart for that polygon (step 2-4 below). I opted for the second option because I wanted to scale the pie chart according to polygon size anyway.
- In QGIS use the vector – Geometry tools – Export/add geometry columns to add a column with the surface area per polygon. Note that the unit is square degrees if you work in lat/lon. A bit akward, but it doesn’t really matter, you only need it to filter out all smaller polygons in the next step.
- Next open the attribute table and use the query tool to select all polygons smaller than 0.89 square degrees, which will select all islands. If you use another projection than lat-lon (WGS84) you will have to find your own cut-off value.
- Use the field calculator to set all surface areas to zero for the selected polygons (you need to toggle editing). Make sure to select the ‘Only update selected features’ and ‘Update existing field’ and select the column with surface area you created in step 1 from the drop-down menu.
- You can now use this column to scale the size of the pie charts. However, differences in surface areas are very large which would result in some very large or some very small pie charts. As an alternative you can use the field calculator to create a new column with the square root of the surface area and use this column instead to scale the pie charts.
The position of the pie charts is plotted relative to the centroids of the polygons. Due to the shape of some countries, centroids are close to or even outside the country boundary. To solve this you need to extract the centroids to a point layer using vector – Geometry tools – polygon centroids. Subsequently you can edit this point layer to change the position of the offending centroids and overlay the layer on top of the other layer.
Now go to the ‘Overlay’ tab of the ‘Layer properties’ dialogue and select the ‘Display diagrams’ and Pie chart as diagram type. Next, add the two columns with forest cover and woodland cover as percentage of total land area to the attribute list for the pie chart. As classification attribute use the column with the square root of the polygon size (created with step 4 above). Experiment with the size and size unit to find the right size of the pie charts for you.
The last step is to export the map as an image file or Pdf using the QGIS print composer. This should be fairly self explanatory. The image above is done completely in print composer, with exception of the pie chart in the legend. This is a SVG image created in Inkscape and imported in the print composer.
OK, that is in a nutshell how you can create a map similar to the one above. It is really very easy and quick to create a map following these steps, just try it out with your own data.