I want to map the absolute increase/decrease of the population of a city. The amount of people that increased/decreased is represented by a size-related point. If it's negative I want to have it in blue, if it's positive I want to have it in red.

Does someone knows how I should do ? It should be like that :

enter image description here

  • Welcome to GIS.SE. Could you tell us, which kind of data you have (point, polygon) and whether you want this in the print composers legend or in your map itself. – Erik Nov 12 '18 at 8:59
  • Thanks for your help ! I have polygons of municipalities in which I want to put a point describing the relative increase or decrease of population since two years with size related(to the amount)-point in the municipality polygons. The points with on increase sshould be red, the ones with a decrease bleu. And I just want to have 6 points in my legend like the picture above. – mvh Nov 12 '18 at 13:36
  • 2
    This isn't really technical, but in my mind, red isn't the best color to represent an increase in value. I'd switch the colors, and probably change blue to green. – Gabriel C. Nov 12 '18 at 14:16
  • I think red and blue are fine. Nowadays we learn that red/green is to be avoided because it's hard to see for the colorblind. – Stefan Dec 16 '18 at 11:10

There is also a possibility to achieve the desired output with a QGIS plugin Proportional circles.

Proportional symbols are used for showing a quantity, for example the population of cities or countries. This plugin generates layers of proportional circles or sectors as a rose diagram and a legend. It is also possible to generate a legend without an analysis. Requires Memory layer Saver to save the memory layers.



If it's point data just set the style to 'Graduated' and then choose/design a colour ramp that fits your specification. Quick and dirty solution for size would be to manually change the point size for the graduation brackets one at a time.

But as the comment suggests, its hard to advise without more information on your dataset.


Adding the circles to your legend will be some manual work, but adding them to your map is rather easy.

Open the properties of your polygon layer and go to the symbology-tab. Make sure you have single symbols switched on, not classified or else. You will have some symbology for your area already. From a cartographic point of view it is recommended to only use rather thick outline (e.g. 0.7 to 1 mm) but not to fill the area itself - this avoids informational overflow.

Then use the green plus to add another style and switch this one to centered- this adds a point to the center of your polygons. Go to the menu which allows you to adapt the marker as much as possible, then click on the rectangular button (with the two triangles) to the far right next to the size row. There you may choose a column on which to base the size of your point, e.g. your population data. In the next step you need to do some fiddling with how you symbolise it exactly, e.g. multiply or divide your data by some factor, and choose the right units for you points (e.g. you could use pixels as units and base the point-size on "population-column"/1000).

As for the colour of the points, this is rather tricky. I couldn't choose the colour based on a conditional clause, therefore you go back to the marker size and expand the formula to if("population-column">0,"population-column"/1000,0). This leaves all markers for population changes below zero invisible. Choose e.g. green as a colour for these markers. Then add another marker, use if("population-column"<0,"population-column"/1000,0) as formula and choose e.g. red.

If you feel really stylish today, you could choose a triangle instead of a circle for your marker - and let it point up or down, based on the development of the population in each area. Formula for this is similar to the ones above: if("population-column"<0,180,0). Enter this via edit next to the rotation row.

Here's an image for your orientation (sorry for the wrong language).

enter image description here

Another word of cartographic warning: If your data is quite diverse, ranging from say 1,000 to 1,000,000, you should rather choose classified symbology, otherwise you end up with almost invisible points next to ones filling the whole screen.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.