2011-10-07 8 views
4

Je suis nouveau à Graph concept dans android. Dans mon application, je veux mettre en œuvre le graphique linéaire en utilisant achartengine. J'ai la démo d'achartengine qui consiste en beaucoup de code. Je ne suis pas capable de comprendre le graphique linéaire. Je veux un graphique linéaire simple en utilisant achartengine. S'il vous plaît quelqu'un peut m'aider.android - Comment mettre en œuvre le graphique en ligne en utilisant Achartengine

grâce

Répondre

14


suivant la méthode va générer des points aléatoires (x, y) et l'ajouter à XYSeries (il est une série de points à tracer sur le graphique).

private XYMultipleSeriesDataset getDemoDataset() { 
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
    final int nr = 7; 
    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; 
} 

La méthode suivante renvoie un rendu multiple qui est utilisé pour tracer des graphiques en courbes.

private XYMultipleSeriesRenderer getDemoRenderer() { 
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
    renderer.setAxisTitleTextSize(12); 
    renderer.setChartTitleTextSize(12); 
    renderer.setLabelsTextSize(15); 
    renderer.setLegendTextSize(15); 
    renderer.setPointSize(5f); 
    renderer.setMargins(new int[] { 20, 30, 15, 0 }); 
    XYSeriesRenderer r = new XYSeriesRenderer(); 
    r.setColor(Color.BLACK); 
    r.setPointStyle(PointStyle.CIRCLE); 
    r.setFillBelowLine(false); 
    r.setFillPoints(true); 
    renderer.addSeriesRenderer(r); 
    setChartSettings(renderer); 
    return renderer; 
} 

La méthode suivante définit les paramètres de votre graphique. Vous pouvez rechercher plus d'options dans les documents fournis par AChartEngine.

private void setChartSettings(XYMultipleSeriesRenderer renderer) { 
    renderer.setChartTitle("Chart demo"); 
    renderer.setXTitle("x values"); 
    renderer.setYTitle("y values"); 
    renderer.setApplyBackgroundColor(false); 
    renderer.setRange(new double[] {0,6,-70,40}); 
    renderer.setFitLegend(false); 
    renderer.setAxesColor(Color.BLACK); 
    renderer.setShowGrid(true); 
    renderer.setXAxisMin(0.5); 
    renderer.setXAxisMax(10.5); 
    renderer.setYAxisMin(0); 
    renderer.setZoomEnabled(false); 
    renderer.setYAxisMax(30); 
    } 

Vous pouvez maintenant obtenir le tableau de la ligne de deux façons:

  • graphique comme une vue qui peut être ajouté à une mise en page:

    ChartFactory.getLineChartView(this, getDemoDataset(), getDemoRenderer());

  • graphique en tant Intention d'une nouvelle activité tous ensemble

    ChartFactory.getLineChartIntent(this, getDemoDataset(), getDemoRenderer());

PS:SERIES_NR est une constante qui indique le nombre de séries ligne que vous voulez dessiner.

+3

exactement ce que je veux.supprimer aneesh –

Questions connexes