I'm using Visualforce Charting to display stuff in a message queue by state. But faced with a display problem: there could be 1 guy in some state and 9999 guys in any other, eg:

<apex:chart data="{!Statistics}" width="100%" height="500" name="Stats">
    <apex:legend position="right" />
    <apex:axis type="Category" ... />
    <apex:axis type="Numeric" ... />
    <apex:barSeries ... />
    <apex:areaSeries ... />


As the diversity of statistics gets bigger and bigger, there is greater risk of the small (but still important) ones being squeezed down to 1px and overlooked.

Really looking for a logarithmic scale here. But the docs for apex:axis don't give anything away. http://www.salesforce.com/docs/developer/pages/Content/pages_compref_axis.htm

Has anyone encountered similar requirement? Any solution without manually stacking charts?

1 Answer 1


Visualforce charting doesn't support anything other than linear scales. To get a logarithmic scale, you could adjust the values on the server side (the values obtained from {!statistics}) so that they are logarithmic in nature, and then include that in your chart's legend. I would probably recommend using something like decibels (dB), which is usually fairly well understood, but if that's too obscure, a simple magnitude indicator should be fine. You'll simply have to explain how the scale works, either way, since most people are used to linear charts.

  • A very elegant suggestion! Could even make the chart scaleless for clarity. Mar 15, 2015 at 10:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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