i’m currently developing an analysis tool using the classic chart component.
i need a bar chart with mainly 3 features:
- values on each bar
different scales, because there are 2 kinds of measure, side by side
problem 1: the bar chart doen’t offer multiple scales, so i’ve gone classic… but the classic chart doesn’t have value on each bar! (i think )
problem 2: i need also to show a sort of correlation between the 2 series, so it could be a good feature the shifting of the second bar set (now completely overlapped to the other).
is there a solution?
thank you very much!
Can you draw a picture of what you’re going for? I’m not sure that we’re going to be able to do it, but a picture would help.
nothing new about this in 7.4?
i’m testin it but i can’t see anything new…
No, nothing new in 7.4. We will keep this in mind though.
Ok I spent some time working on this, and the good news is that it can be done (today!). The bad news is that they way to do it is a bit of a hack.
There are two “hacks” to make this work.
- You need to put filler columns full of nulls into your datasets to get the bars to offset correctly. I didn’t make this up!, it’s straight out of the JFreeChart examples.
- You’ll need to run a script that turns on the labels for the bars. Note that the chart gets re-created when some of its properties change, so you may want to run this script periodically on a time to make sure the labels don’t dissapear.
I’ve attached a window that makes use of these two concepts. Good luck.
Multi Axis Bar Chart Example.proj (16.7 KB)
anyway this doesn’t fit my needs because:
- the label is hidden if the columns are too thin (that is always because my number of columns is almost always > 20)
- the bars have shadows and gradients, not so nice for our customers
- i must use category bars (i think): the X axis values (datetime) can’t have an angle
The bar chart component does have a property called “Category Axis Label Angle” which allows the X-axis values to be angled and more visible.
as i expected i get labels moving on the top and then again on the bars at every graph auto-refresh.
i suppose the cause is the timed overriding of the bar renderer instead of its substitution.
is there a way to have the renderer substituted?
You should be able to do whatever you want to the position of the labels. Take a look at the script that makes the labels appear and you’ll notice all sorts of angle and position arguments that you can play with.
the customization using python is unbelievable
thank you for the example