Here is what happens when you style a forty-layer map one layer at a time. You open the land cover, and it has fourteen classes, so you give it fourteen colours. You open the deposits, categorised by economic status, five classes, five colours. You open the permits, categorised by status, more colours. The roads, categorised by type, more colours. The Norwegian land cover, the Topo50 land cover, the bedrock with its fourteen thousand polygons. Every single one of them, opened on its own, asks you the same question, and the dialog makes it so easy to answer. Click Classify. Here are your colours.
And every individual answer is reasonable. The problem is that you never see them together until the end, and by the end the map has somewhere north of fifty distinct hues on it, all fully saturated, all fighting, and the reader cannot tell which colours are the point and which colours are the wallpaper.
This is the central problem of a data-rich map, and it has a name worth keeping in your head. The colour budget. A map has a finite amount of colour it can spend before the reader stops being able to read it. Forty layers, and the budget does not grow to match. You have to decide, on purpose, which layers get to spend the saturated colour and which layers get styled in a way that costs almost nothing.
Start by counting what is actually competing. Go through the gruvor stack and list every layer that is categorised, every layer where an attribute is driving a set of distinct colours.
The Lantmäteriet land cover, fourteen classes. The Topo50 land cover, categorised by object type. The Norwegian N50 land cover, categorised by object type, palette deliberately matched to the Swedish one. The kommun polygons, categorised and labelled. The Topo50 roads, categorised by road type with weighted widths. The Norwegian roads, split on object type into road and rail. The SGU bedrock, if it is ever turned on, fourteen thousand polygons in a geological classification. The deposits, categorised by economic status, five classes. The permits, categorised by status. The Norwegian mining layers, several of them styled by category.
That is, conservatively, ten categorical layers, and together they want something like sixty distinct colours. Sixty. On one page. The human eye can hold maybe seven or eight categories in working memory before the legend stops being a legend and becomes a wall of swatches.
So the budget is already blown before you start. The job is not to find sixty colours that work together. No sixty colours work together. The job is to decide which few layers get real colour and force every other layer to communicate some other way.
To spend a colour budget well, you need to know what you are spending. Colour is not one thing. It is three: hue, saturation, and value. Hue is which colour, red versus green versus blue. Saturation is how intense, vivid versus muted. Value is how light or dark.
Here is the rule that runs the whole budget. Hue is expensive. Value is cheap.
Hue is expensive because the eye reads hue as category, as difference in kind. Two different hues say "these are two different sorts of thing." So every time you spend a hue, you are making a claim that this layer's categories are meaningfully, qualitatively distinct, and you are asking the reader to hold that distinction. You can only ask that a few times before the reader is overloaded.
Value is cheap because the eye reads value as hierarchy, as more versus less, near versus far, important versus background. You can have a dozen layers all rendered in greys and browns of different lightness, and the reader does not experience that as twelve competing categories. They experience it as depth. As a ground with texture.
So the basemap, all of it, should be built almost entirely out of value. Light greys, mid greys, soft browns, muted greens, distinguished from each other by how light or dark they are, not by being different hues. And the editorial layers, the mining, should be where you spend the hue.
Concretely, for the gruvor basemap.
The land cover, fourteen classes, is the biggest temptation and the biggest trap. Fourteen saturated hues across the whole page is the single fastest way to destroy the map. Instead, the fourteen classes should be fourteen quiet variations. Forest a slightly deeper, slightly cooler tone. Open land a touch lighter. Water a desaturated blue-grey, not a bright blue. Wetland a muted cyan-grey. The fourteen classes are still distinguishable, a reader who looks closely can still tell forest from bog, but they are distinguished by subtle shifts in value and a little saturation, not by fourteen different shouts.
The roads, categorised by type, should be distinguished primarily by width and by value, not by hue. A motorway is a slightly darker, slightly wider grey line. A small road is a thinner, lighter grey. The sources file already says the roads use weighted widths, which is exactly right. Width is another cheap channel, like value. Spend width and value on the road hierarchy, do not spend hue.
The contours, the water lines, the railways, the buildings, the admin boundaries. All of these should be value, not hue. Browns and greys, lighter and darker. The whole Topo50 group and the whole N50 group should, when you squint at it, read as a single soft monochrome-ish ground with terrain texture. Not as a competing colourful map underneath your actual map.
The test for the basemap is simple. Turn off every editorial layer, look at just the basemap, and ask: does this look like a finished map, or does it look like a quiet background? If it looks like a finished colourful map on its own, it is too loud, because the editorial layers still have to go on top of it and win.
Now you have a budget to spend. The basemap took almost none of it. Everything left goes to the mining story.
The deposits, five economic status classes. The permits, categorised by status. The historical mines and unmined ore bodies, with their filled-versus-hollow triangle grammar. The Norwegian mining layers. This is where saturated, deliberate, unmistakable colour belongs, because this is the figure, and the figure is allowed to shout.
But even here the budget is not infinite. You still cannot give every editorial category its own loud hue, because there are still quite a few editorial categories. So inside the editorial group there is a second tier of the same decision. What is the single most important distinction the map makes? That distinction gets the strongest, most saturated, most contrasting colours. Everything else in the editorial group gets colour, real colour, but slightly calmer, so the main distinction stays on top.
If the centre of the story is active mining permits versus everything else, then permit status gets the loudest treatment. If the centre of the story is the contrast between what has been mined and what has not, then the historical-versus-unmined grammar gets it. You decide what the map is mainly arguing, and you spend your loudest colour there.
The sources file mentions, almost in passing, that the Norwegian N50 land cover palette is matched to the Swedish Marktäcke palette so the cross-border read is continuous. That is one specific instance of a principle that should run through the whole map.
The principle: the same kind of thing should look the same everywhere on the page, regardless of which dataset it came from.
A forest is a forest. It does not matter that the forest on the Swedish side comes from Lantmäteriet and the forest on the Norwegian side comes from the Norwegian mapping authority. To the reader, it is one forest that happens to have a border running through it, and if the two halves are different greens, the border becomes a colour seam, and the reader's eye reads the seam as meaningful when it is just an artefact of two data sources.
Extend that principle past land cover. The Norwegian roads and the Swedish roads should share a road palette. The Norwegian contours and the Swedish contours should be the same brown, the sources file already notes this is the intent. A historical mine in Sweden and a closed mine in Norway, if they mean a similar thing, should look similar.
This is the discipline that makes a cross-border map read as a map of a region rather than as two national maps glued at the edge. The data comes from two countries. The map is of one mineral region. The palette is what carries that.
The SGU bedrock layer is a special case worth its own moment, because it breaks one of the rules above, and it breaks it for a good reason.
Bedrock geology has its own colour conventions, centuries old, internationally semi-standardised. Granites in particular pinks and reds, basic rocks in greens and dark tones, sedimentary units in blues and yellows. A geologist reading a bedrock map expects those conventions, and the SGU data ships with them or close to them.
So if you turn the bedrock layer on, fourteen thousand polygons in traditional geological colour, it is going to be loud. It is going to be a fully saturated, fully colourful map all by itself. And there is no quiet version of it that a geologist would still recognise, because the colours are the language.
The answer is not to recolour the bedrock into quiet greys. The answer is that the bedrock layer should almost never be on at the same time as the full editorial mining story. They are two different maps. The bedrock is for a specific figure, a specific inset, where the question genuinely is geological, and in that figure the bedrock is allowed to be the loud layer because the mining layers can step back. This is exactly why the thematic group is off by default. Some layers are not basemap and not quiet editorial. They are entire alternative maps, and they get their own figures.
One more decision hides inside the deposits layer, and it is the kind of thing that is easy to get wrong because the QGIS dialog encourages the wrong answer.
The deposits are categorised by economic status, and the five classes are operating mine, past producer, prospect, anomaly, and mineral occurrence. The Categorized renderer treats those five as five unrelated categories and hands you five arbitrary hues.
But look at that list again. Operating mine. Past producer. Prospect. Anomaly. Mineral occurrence. That is not five unrelated kinds of thing. That is a gradient. It runs from "there is definitely valuable rock here and we are taking it out" all the way down to "there is a hint in the data that there might be something here." It is a scale of certainty, or a scale of economic reality. It is ordinal.
When data is ordinal, categorical colour lies about it. Five arbitrary hues tell the reader these are five separate types. What you actually want is a sequence, a ramp, so the reader sees the gradient. Strong, dark, definite colour for an operating mine. Progressively lighter, cooler, less assertive treatment as you move down through past producer, prospect, anomaly, to mineral occurrence. The colour itself should carry the sense of "this is solid" fading to "this is speculative."
This is a graduated-style treatment applied to what looks like categorical data, and you get it either by ordering a custom set of symbols by hand in the Categorized renderer, or by mapping economic status to a number and using a real graduated ramp. Either way, the point is that the renderer's default answer is wrong here, and the data is telling you so if you read the class names out loud.
Put the whole budget together and it looks like this.
The basemap, both countries, spends almost no hue. It is built from value and width. Greys, browns, muted greens, distinguished by light and dark. When you squint at it alone, it is a quiet textured ground.
The editorial mining group spends the hue. Saturated, deliberate colour, with the single most important distinction getting the loudest treatment and the rest of the editorial categories getting calmer but still real colour.
The deposits get a ramp, not a category set, because their classes are ordinal.
The palette is matched across the border so the region reads as one place.
And the genuinely loud thematic layers, the bedrock above all, are not on the main map at all. They are alternative maps, saved for their own figures, off by default.
That is a budget. It is restrictive on purpose. The restriction is what makes the map readable.
Two tests will tell you in seconds whether the budget holds.
The first is the squint. Lean back from the screen and half-close your eyes until the detail blurs. What you have left is the broad structure of value and colour. In a map with a good budget, the mining story still pops out of the blur and the basemap recedes into a soft ground. In a map with a blown budget, the squint shows you a noisy field with no clear figure, just mush.
The second is greyscale. Export the map, or the layout, with all colour removed, everything mapped to its value only. This is the harsher test. It strips hue away entirely and shows you what the map is doing with value alone. A good map still works in greyscale. The figure is still darker or lighter than the ground, the hierarchy still reads, because you spent value deliberately and did not lean on hue to do value's job. A map that collapses into a flat grey nothing in greyscale was relying entirely on hue, and hue is the channel you have least of.
The greyscale test is also not hypothetical for a newspaper. Årebladet is printed, and not every reader sees it in full colour, and a photocopy or a phone photo of the centerfold strips the colour anyway. A map that survives greyscale is a map that survives the real world it is going into.
The colour budget is a hard discipline because the software fights you on it. Every layer dialog offers you free colour, one layer at a time, and the bill only arrives at the end. The cartographer's job is to keep the whole bill in your head from the start. Spend value freely. Spend hue like it is rationed. Because it is.
Next episode: the layers you have, that are true, that you should still not draw. Density, honesty, and what the map must not say.