A friend and I are working on a heatmap representing some population numbers. Initially we used a linear color scale by default. Then, because the numbers covered a wide range, I tried using a log color scale (as shown here). My friend said it obscured the data too much.
So I was wondering, is there a something in between ... some sort of continuum between linear scale and log scale? Can I drag a slider (so to speak) between linear and log scale? E.g. we might try "25% log and 75% linear".
I guess I could use a linear interpolation function like
f(x) = x + (log(x) - x) * L
where L is "loggishness," ranging from 0 to 1, to interpolate between a linear and a log scale.
I guess there's nothing wrong with that, but it seems ... I don't know, a bit "unnatural." Like it doesn't fit the nature of the log function. Is there a more natural way to do this?
On second thought, I could also try geometric interpolation between x
and log(x)
. That seems to be a little more in keeping with the nature of logarithms, but ... I'm still not sure if it's "the" natural way to do it. I'm also wondering whether it would be visually misleading at all (assuming that we tell the reader what kind of scale we're using).
Am I wrong to try to display data on a somewhat/more/less loggish scale? I couldn't find anyone else talking about it on the web, but maybe I just didn't know what terms to search for.
Manipulate[Plot[(x^p - 1)/p, {x, 0, 10}], {p, 0.001, 1}]
(There are free tools that do this, but I don't know how off hand.) – Jonas Meyer Feb 08 '12 at 23:39