I have a stacked column which displays the traffic to a web site from
various sources (referrals, advertising, etc).  Each stack represents
a single week, and the different stacked series therein represents a
source.  I created a custom renderer to have a label within the actual
chart element itself, to show the source name and percentage, and a
custom datatip renderer as well to show the underlying raw data as
well as inviting the user to click for more info (displayed in a
separate component).

Some of the sources may only have a very small percentage of the
overall traffic.  These are displayed as very thin hairlines, which
are difficult or impossible to click and sometimes not even visible. 
I have tried setting the 'minHeight' attribute of the ColumnSeries,
but that seems to be geared towards floating columns and in any case
does not seem to be used for stacked and 100% type charts.

What I want is for the stacked elements to have a minimum size which
is large enough for a label and for clicking.  These would not be
representative of the actual data, though it should be for larger
chart elements.  I don't think I can accomplish this with a
ChartItemRenderer, since the parameters which are passed to it are the
already-determined height and width.

I can think of two ways to accomplish this, and would love to hear
feedback on them as well as more suggestions if you have any.  The
first is to create a 'shadow series' which contains modified data
which will draw the chart elements at a large enough size.  Since I
already have custom renderers for the chart item and datatip, these
could know how to correlate this with the real data, and show the
correct percentages/numbers/etc.

The second idea I had was to create a custom non-chart component. 
Since the labeled-state is actually a zoom-in on a single week (i.e.,
only one column is shown at a time), the component could essentially
have the real data as its dataprovider, but could calculate the total
and dynamically make small items large enough to be seen.  The
drawback to this is that I lose the datatip functionality, and it
might be difficult to access the chart styles to make it visually
match the four-column (zoomed out) display.

(I suppose a third idea would be to display in a table, not a chart:
but the client is not going to go for that.)

Any comments would be appreciated.

oliver


Reply via email to