paragp / achartengine

AChartEngine is a charting library for Android applications. It currently supports the following chart types: line chart area chart scatter chart time chart bar chart pie chart bubble chart doughnut chart range (high-low) bar chart dial chart / gauge combined (any combination of line, cubic line, scatter, bar, range bar, bubble) chart cubic line chart All the above supported chart types can contain multiple series, can be displayed with the X axis horizontally (default) or vertically and support many other custom features. The charts can be built as a view that can be added to a view group or as an intent, such as it can be used to start an activity. The model and the graphing code is well optimized such as it can handle and display huge number of values. AChartEngine is currently at the 1.0.0 release. New chart types will be added in the following releases. Please keep sending your feedback such as we can continually improve this library. Find us on Facebook, too: http://www.facebook.com/achartengine Read a short introduction to AChartEngine here: http://www.javaadvent.com/2012/12/achartengine-charting-library-for.html Another good tutorial can be read here: http://jaxenter.com/effort-free-graphs-on-android-with-achartengine-46199.html
0 stars 1 forks source link

Bar chart - if there is only one category the bars widht is thin. #273

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. In GeneratedChartDemo Class XYMultipleSeriesDataset  final int nr = 1;
2.
3.

What is the expected output? What do you see instead?
The bars should be of same with even if their is only one category

Please provide a source code snippet that we can use to replicate the issue.
In GeneratedChartDemo Class

 private XYMultipleSeriesDataset getDemoDataset() {
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    final int nr = 10;
    Random r = new Random();
    for (int i = 0; i < SERIES_NR; i++) {
      XYSeries series = new XYSeries("Demo series " + (i + 1));
      for (int k = 0; k < nr; k++) {
        series.add(k, 20 + r.nextInt() % 100);
      }
      dataset.addSeries(series);
    }
    return dataset;
  }

What version of the product binary library are you using?
recent one 1.1

Please provide any additional information below.
i had looked into the source code i see that its because of calling this method 
getHalfDiffX(points, length, seriesNr); in drawSeries method and i see that its 
because in getHalfDiffX method
your are setting if (halfDiffX == 0) {
      halfDiffX = 10;
    }

Please let me know how to fix this

Original issue reported on code.google.com by varunagp...@gmail.com on 8 Feb 2013 at 5:31

GoogleCodeExporter commented 9 years ago
Please change the final int nr = 10; to final int nr = 1; to see the output 
with bars having thin width

Original comment by varunagp...@gmail.com on 8 Feb 2013 at 5:33

GoogleCodeExporter commented 9 years ago
any body has looked into this issue? can you please help me

Original comment by varunagp...@gmail.com on 9 Feb 2013 at 5:42

GoogleCodeExporter commented 9 years ago
I added a new method for setting a constant bar width in pixels.

renderer.setBarWidth(100);

You can download a version including this fix here:
https://repository-achartengine.forge.cloudbees.com/snapshot/org/achartengine/ac
hartengine/1.1.0/

Original comment by dandrome...@gmail.com on 9 Feb 2013 at 10:50

GoogleCodeExporter commented 9 years ago

Original comment by dandrome...@gmail.com on 9 Feb 2013 at 10:50

GoogleCodeExporter commented 9 years ago

Original comment by dandrome...@gmail.com on 9 Feb 2013 at 10:50