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. Commented Mar 15, 2015 at 10:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .