Somewhere over the Rainbow

Color brushing (i.e., the persistent assignment of colors to cases) was one of the most requested and most ignored (on my side) features for Mondrian. I gave in at some point and ever since I get the never ending complaint over using “the wrong” colors – which I now ignore for the most part as n users will have n different preferred color schemes.

Nonetheless, there is the continuous color scale which usually utilizes some sort of rainbow color scheme in order to differentiate between a maximum of hues. The whole thing seem to be pretty easy to implement in HSB color space. Once you decided on some reasonable S and B you only need to go round in the H circle and you are done. Here is what you get:

Looks pretty neat, but has two obvious problems:

  • If you use the complete circle, you won’t be able to distinguish between the values at the edges, as they are actually the same
  • If you use a background color (light yellow for Mondrian) you should avoid this color altogether.

The possible solution solves both problems at once. The first problem needs to avoid a certain color range such that “minimum color” and “maximum color” are far enough apart. For Mondrian, this is certainly the yellow range; which solves the second problem. This is what the update looks like:

No spectacular change, but this is actually the solution which I should have thought of in the first place.

One Comment

  1. jsndyks says:

    Hey Martin, just to add my N, we did some work on perceptual colour spaces recently and came up with schemes that use CIELuv colour space to vary hue in perceptually equivalent ways whilst maintaining constant lightness.

    I think these could address the issues you raise here.

Leave a Reply