Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Intelligence (Analytics)
Bar is not plotted for very small values in the chart
jain
Hi, I am developing bar chart report in BIRT3.7, the problem is for very small values, the bar is not getting plotted in the chart. I have attached the snap-shot for reference. could anyone provide me the solution to bar series should get visible in the chart.
Find more posts tagged with
Comments
mwilliams
In reference to your scale, that value is so small that it would be an over-representation of the data if it did show a line. If you increased the height of your chart, it would show. Or, if you created a separate chart for the "too small to show values". What are you wanting it to do? If you'd like to add a small amount to the insignificant values, so that they show in your chart's current size, you could do this in your afterDataSetFilled script. The problem with this approach is that you'd have to go back and change the label value to the old, smaller value. This starts to become kind of a hack that you might not like having to maintain.
jain
Hi Williams, Thanks for your response. Actually for very small values, the bar is not visible at all in the chart, How to make it visible for very small values without changing the chart size.
mwilliams
As I said before, it's not visible at all because the proportions would then be off. The value you're talking about is so small in comparison to the max value that it doesn't represent enough to show. To get miniscule values to show, you'd need to pad the very small values with enough to make a sliver of bar show. Hope this makes sense.
jain
Hi Michael thanks for the update, in which property do I need to pad the values to show up the bar on the chart?
mwilliams
It depends on your data, where you'd want to do this. If you have a bar for each row of your dataSet, you could create a computed column that checks the value and determines if you need to add some to it.
If you have several rows in your data that get grouped together to form a bar's value, you'd need to do this in your chart script. Let me know.
jain
I have developed the Bar chart report in BIRT 3.7, when plotting negative values a small portion of the bar is extended above "0" line. I want to know its a product behaviour or is there any solution to make the small negative value bar to display below the "0" line? I have attached the bar chart for reference.
jain
Could you please provide some sample report design file for this scenario?
Thanks,
Jain
mwilliams
Can you attach a sample design that shows the issue, that I can run? I don't see the same when I tried to recreate it.
jain
Hi Michael, Please find the attached report design file where you can find for very small negative value the bar is getting plotted above the 0 line, also you will find in some cases for very small value the bar will not appear on the chart.
Thanks,
Jain
mwilliams
What you're seeing here isn't the bar, it's the bar's outline. If you go to each series in the format chart tab and make the outline transparent, this doesn't happen. It also make the "bar" disappear as the outline is what you're calling the bar. To make sure all bars appear, you'll have to pad the ones that do not show. I will modify your example to show you this and attach it when I'm done.
mwilliams
Take a look at the script added. It finds the values that are less than a certain percent of the max value in the chart and pads the value to a certain percent. You'd have to manage the labels as well. Currently, they're not correct, you'd have to go through and change them to the original values.
Hope this helps.
jain
Thanks Michael, the example is really helpful for me to understand.
Thanks,
Jain
mwilliams
This example was with the assumption that your data is more complex than what is in the sample. This method would take care of any grouping of values into a single bar. If yours is similar to the data in the sample, i.e each row will be a bar, you could do this much more easily with just a computed column.