The existing color scheme in the image uses a predominantly orange-red palette for most of the map, with some yellows, greens, and blues appearing minimally. While this scheme does show variation, it has several limitations. The heavy use of similar orange and red hues makes it difficult to distinguish between different levels of enablement and population, especially in the low to moderate ranges. Additionally, this color scheme may not be easily interpretable for individuals with color vision deficiencies.
I propose changing to a more effective color scheme based on the ColorBrewer RdYlBu
(Red-Yellow-Blue) 5-class diverging color palette.
Baseline color 5-class RdYlBu
Source: https://colorbrewer2.org/?type=diverging&scheme=RdYlBu&n=5
This scheme offers several advantages. It uses a broader range of distinct colors (red, orange, yellow, light blue, and dark blue) to represent the five levels of enablement, making them more easily distinguishable. Within each enablement level, consistent lightness variations represent population levels, providing a more systematic and intuitive approach. This new scheme is designed to be more colorblind-friendly, offers better contrast between categories, and allows for easier interpretation of both enablement and population levels across the entire map. The ColorBrewer-based palette ensures scientifically-derived color combinations that are perceptually effective and widely accessible. By adopting this color scheme, we can enhance the map's readability and make the data more accessible to a wider audience, including those with color vision deficiencies.
There are mathematical approaches to systematically adjust colors for low and high variations from a base color. One common method uses the HSL (Hue, Saturation, Lightness) color model to adjust the lightness while keeping the hue constant.
We can use a modified version of the HSL adjustment method to create a more systematic approach that better matches the aesthetic of the colors we've been working with. Here's a revised approach:
- Convert the base HEX color to HSL.
- For low population: Decrease lightness by
15%
and increase saturation by5%
. - For high population: Increase lightness by
15%
and decrease saturation by5%
.
Let's apply this to our base colors:
- Very low enablement (
#d7191c
):- Low:
#b11419
- Medium:
#d7191c
(unchanged) - High:
#f14247
- Low:
- Low enablement (
#fdae61
):- Low:
#d68f47
- Medium:
#fdae61
(unchanged) - High:
#ffc688
- Low:
- Moderately enabling (
#ffffbf
):- Low:
#e6e6a3
- Medium:
#ffffbf
(unchanged) - High:
#ffffdb
- Low:
- Enabling (
#abd9e9
):- Low:
#8bbccd
- Medium:
#abd9e9
(unchanged) - High:
#cbf0ff
- Low:
- Highly enabling (
#2c7bb6
):- Low:
#1d5c8d
- Medium:
#2c7bb6
(unchanged) - High:
#4a9ae0
- Low:
This approach provides a consistent method for deriving the low and high population colors from each base color, while maintaining the overall color scheme and ensuring good differentiation between categories.
Here's an updated version with these new color codes:
Breakdown color 5x3 class RdYlBu
For individual factor or variable, let's use RdYlBu
(Red-Yellow-Blue) 6-class diverging color palette
6-class RdYlBu