But, to be honest even though Postgres was super easy to do as far as the SQL was concerned, I was always bothered by the rigmarole involved in making maps. First, you had to move the data into Postgres. Then, you had to run the query and create a new table. Then, you could visualize the map.
But, here is a super easy way to make the maps, using QGIS and the DB Manager. In case you didn’t know, QGIS can link to Virtual Layers. That is, layers in the table of contents can be accessed with the DB Manager, and they are treated like a layer connected to an external database. However, in the case of Virtual Layers, you’ll be using SQLite and SpatialLite to perform SQL.
So, this short little video will show you how to create a bivariate map on-the-fly with QGIS and the DB Manager. To me, this is one of the coolest features introduced in QGIS.
if you want to learn more about spatial SQL or QGIS, check out my courses on Learning the FOSS4g Stack: QGIS Desktop, and Learning the FOSS4g Stack: Spatial SQL with Postgres and PostGIS.