Friday 15 July 2011

android - Unable to draw multiple series in achartengine -


I am unable to plot several series in achartengine. If I add a second series on the dataset, then it just does not work, it actually crashes, only one series is added to the dataset, the code works fine.

Debugging shows that this is crashing when doing so: ChartFactory.getLineChartView (Reference, Dataset, Series Renderer);

Here is the code snippet, any help would be greatly appreciated.

  public class LineGraph {public view getView (reference reference) {int x [] = {1,2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16,17,18,19,20}; Int y [] = {30,34,25,45,5,30,20,25,29,30,10,20,30,40,50,60,70,60,50,40}; Time series series = new timers ("score"); Time-series line series = new timetable ("line"); {Series.add (x [i], y [i]) for (int i = 0; i & lt; x.length; i ++); Series.ed annotation (I + "", x [ii], y [i] +5); LineSeries.add (x [i], y [i] +10); } XYMultipleSeriesDataset Dataset = New XYMultipleSeriesDataset (); Dataset.addSeries (series); Dataset.addSeries (lineSeries); XYSeriesRenderer Renderer = New XYSeriesRenderer (); Renderer.setPointStyle (PointStyle.CIRCLE); Renderer.setFillPoints (true); Renderer.setcolor (Color.WHITE); Renderer.setLineWidth (2f); XYMultipleSeriesRenderer Series Renderer = New XYMultipleSeriesRenderer (); SeriesRenderer.addSeriesRenderer (renderer); SeriesRenderer.setShowAxes (wrong); // Presenter to show both axes series.SetShowgle (wrong); SeriesRenderer.setShowLabels (wrong); SeriesRenderer.setZoomButtonsVisible (wrong); // Bye-by-zoom // CurrenityRender.set margin (new ENT) [1, 1, 1, 10}); SeriesRenderer.setXAxisMin (0); SeriesRenderer.setXAxisMax (10); ChainlenderStar.StextTypePhase (TypefaceCreativeFaceAsset (ReferenceGet Asset), "Fonts / Lifestyle Round M 54.TTF")); SeriesRenderer.setPointSize (10f); Chainlender SetPan enabled (true, false); SeriesRenderer.setGridColor (Color.GRAY); View View = ChartFactory.getLineChartView (Reference, Dataset, Series Renderer); Return view; }   

and here's how I am using it:

  Increases the performance of the public class PerformanceActivity {@Override protected void onCreate (Bundle Saved InstantState) {Super.Nook (Saved Instantstate); SetContentView (R.layout.activity_performance); Utils.overrideFonts (this, FindViewById (android.R.id.content)); Line graph line = new line graph (); View GraphView = lineGraph.getView (getApplicationContext ()); Find Relative Layout GraphHolder = (Relative Layout) VVBIID (RIDRL_Graph); GraphHolder.addView (graphView); }    

You are missing out on another renderer.

  Public class linegraph {public content recipient (reference reference) {int x [] = {1,2,3,4,5,6,7,8,9,10,11, 12,13,14,15,16, 17,18,19,20}; Int y [] = {30,34,25,45,5,30,20,25,29,30,10,20,30,40,50,60,70,60,50,40}; Time series series = new timers ("score"); Time-series line series = new timetable ("line"); {Series.add (x [i], y [i]) for (int i = 0; i & lt; x.length; i ++); //series.addnnotation(i + "", x [i], y [i] +5); LineSeries.add (x [i], y [i] +10); } XYMultipleSeriesDataset Dataset = New XYMultipleSeriesDataset (); Dataset.addSeries (series); Dataset.addSeries (lineSeries); XYSeriesRenderer Renderer = New XYSeriesRenderer (); Renderer.setPointStyle (PointStyle.CIRCLE); Renderer.setFillPoints (true); Renderer.setColor (Color.BLACK); Renderer.setLineWidth (2f); XYSeriesRenderer renderer2 = New XYSeriesRenderer (); // renderer 2 renderer for 2 renderer2.setcolor (Color.GREEN); Renderer2.setFillPoints (true); //renderer2.setChartValuesSpacing(1f); Renderer.setLineWidth (2f); XYMultipleSeriesRenderer Series Renderer = New XYMultipleSeriesRenderer (); SeriesRenderer.addSeriesRenderer (renderer); SeriesRenderer.addSeriesRenderer (renderer2); SeriesRenderer.setShowAxes (wrong); // Presenter to show both axes series.SetShowgle (wrong); SeriesRenderer.setShowLabels (wrong); SeriesRenderer.setZoomButtonsVisible (wrong); Intent intended = ChartFactory.getLineChartIntent (reference, dataset, series renderer); Intent to return; }}   

Snap shot

Enter the image details here Edit

Edit:

  XYMultipleSeriesRenderer SeriesRenderer = New XYMultipleSeriesRenderer (); SeriesRenderer.addSeriesRenderer (renderer); SeriesRenderer.addSeriesRenderer (renderer2); ChanelRenderer.Setcharttital ("Line Graph"); Chainlarender. Setsetel ("X value"); Chainlarender.SetIitital ("Y Value"); SeriesRenderer.setBarSpacing (10); SeriesRenderer.setZoomEnabled (true);   

Enter image details here

No comments:

Post a Comment