I'm working on a web app, and I'm creating some data viz tools for it. For one particular series, I've got an extremely wide variance in data values (0 to millions). We're using a column chart to view the data now, which of course results in some columns that are a pixel high or smaller. We already have some ways to slice the data that helps a bit, but I was wondering if there were different kinds of visualizations out there in common use that deal with this type of situation better. And if so, if there were JS libraries that help implement them.


1 Answer 1


A standard approach to dealing with data that has a wide variance is to use a log scale (or some other kind of scaling approach) regardless of the visualization itself. This could be applied in any graphical package (including a JS library like Protovis).

Another strategy is to use bands, and fold the data over several times (as in this example), although personally I find this approach to be harder to read. This ends up looking like:

alt text

  • $\begingroup$ Yeah, I thought about using a log scale. Unfortunately, I don't think our selected charting package (highcharts) supports it. Also, the data is such that even with a log scale it's still pretty extreme. I guess I was hoping there'd be some obscure viz type that I haven't heard of. :) $\endgroup$
    – sprugman
    Oct 8, 2010 at 21:31
  • 1
    $\begingroup$ @sprugman I wouldn't accept this just yet. There are plenty of other possible answers. But I do think that scaling the data so that it's more linear between small and large values would be a good approach (you don't have to use a log scale, it can be something else...). And scaling can be done on the data before it is plotted, so you can do that with any package. $\endgroup$
    – Shane
    Oct 8, 2010 at 21:33
  • $\begingroup$ ok, shane, you talked me out of accepting your answer. Thanks. :) $\endgroup$
    – sprugman
    Oct 8, 2010 at 21:43
  • 3
    $\begingroup$ +1, log scale sounds good to me -- @sprugman: couldn't you just preprocess your data and log-transform it before dispatching it to your charting routine? $\endgroup$
    – ars
    Oct 8, 2010 at 22:22
  • 1
    $\begingroup$ I agree with @ars -- log the data first, then plot and adjust the axis labels. $\endgroup$
    – user88
    Oct 9, 2010 at 15:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.