This question already has an answer here:

There is one polygon layer with the number of "immigrants" and "emigrants" respectively. I want to visualize those two values together. Diagram with both normalized values is not an option because the place is already occupied with point symbols.

Of course, the output can be achieved by means of the following approach

  1. "immigrants" and "emigrants" are absolute values, therefore the difference between them can be calculated, i.e. delta = "immigrants" - "emigrants"
  2. Decide what is 'negative' and what is 'positive', i.e.

CASE WHEN "delta" > 0 THEN 'positive' WHEN "delta" < 0 THEN 'negative' ELSE 'remains the same' END

In this case, I am considering more "immigrants" versus less "emigrants" as positive'.

  1. Define the appropriate amount of categories and visualize them with Graduated symbols, positive' with green, negative' with red, remains the same' with grey.

Another solution can probably be obtained with half-polygon expression where difference() and $geometry() features are applied. And further, each half polygon visualized with its values accordingly.

However, to go above the typical process I was wondering if it is possible to produce a Bivariate choropleth map a.k.a. Relationship Map in QGIS.

My wish is to visualize both values with two graduated colours simultaneously. Pink stands for "immigrants" and blue stands for "emigrants" accordingly.


How can I adopt this approach in QGIS? Perhaps, someone has already described the workflow of creating a Relationship Map in QGIS?

I know that ESRI's ArcGIS Online has such option, the requisite procedure was described in this article How to Make a Relationship Map in ArcGIS Online.

Moreover, Dr Cynthia Brewer already described the theory of such mapping in online guide Color Scheme Types and Combinations: Overview.


Searching on the Internet did not give me any noticeable inspiration.


marked as duplicate by Taras, whyzar, Community Mar 13 at 13:44

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.


What you're looking to seem to be more generally called "Bivariate choropleth map" looking for these term will get you some answer.

For example this one by Joshua Stevens

It's to long to fully resume in this answer but basically you add 3 column to your table, in the first you create a classification for your first variable (for exemple A, B, C, D), you do the same in the second column with your second variable (for exemple 1, 2, 3, 4) and then combine the two in the third column (you'll get 16 value like A1, A2, ... , D4) and use this third column for symbolisation.

  • aaa...stupid me...how could I forget the second definition ... these multi definitions but the same meaning words make me crazy 😀. However, I was wondering if QGIS can go further and visualize Three variable scheme? – Taras Mar 13 at 11:20
  • By the way, can you suggest please a source where I may mix those colours? – Taras Mar 13 at 12:19

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