bonjour,
Je suis entrain de développer une application et je voudrais pouvoir afficher un graphique dans mon application. J'utilise Eclipse et la version d'Android est la 3.0 (application destiné aux tablettes).
J'ai vu qu'il existait un site qui parlait des graphiques pour android : http://androidplot.com
j'arrive actuellement à afficher un graphique (importation des bonnes bibliothèques etc...) mais je n'arrive pas à mettre à jour les données de graphique. Je m'explique :
- je récupère des données dans des tableaux toutes les 5sec environ(dans un thread)
- ensuite un handler permet d'afficher ses valeurs
les données s'affichent comme ça :
au départ le tableau contient : 0 ; 0 ; 0 ; 0
après acquisition : 24 ; 0 ; 0 ; 0
après 2eme acquisition : 24 ; 25 ; 0 ; 0
etc jusqu'à remplir le tableau.
j'affiche à chaque fois les valeurs ("j'appelle" donc le handler périodiquement)
Et mon problème c'est que le graphique ne se met pas à jour. il fonctionne seulement pour la 1ere valeur.
J'ai donc un point à l'ordonnée 24 abscisse 0 et tous les autres points ont comme coordonnée (0,0)...alors que j'aimerai qu'il se mette à jour au fur et à mesure de l'acquisition.
voilà mon code (un peu long désolé):
j'ai récupéré ce bout de code ici (http://androidplot.com/wiki/Quickstart)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 Number[] series1Numbers = data00; Number[] series2Numbers = data01; mtextviewText = new String( "\n"+ "series1Numbers : " + series1Numbers[0] + "," + series1Numbers[1] + "," + series1Numbers[2] + "," + series1Numbers[3] + "," + series1Numbers[4] + "," + series1Numbers[5] + "," + series1Numbers[6] + "," + series1Numbers[7] + "," + series1Numbers[8] + "\n" ); textview1.setText(mtextviewText); XYSeries series1 = new SimpleXYSeries( Arrays.asList(series1Numbers), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series1"); XYSeries series2 = new SimpleXYSeries( Arrays.asList(series2Numbers), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series2"); LineAndPointFormatter series1Format = new LineAndPointFormatter( Color.rgb(0, 200, 0), // line color Color.rgb(0, 100, 0), // point color Color.rgb(150, 190, 150)); // fill color (optional) // Add series1 to the xyplot: mySimpleXYPlot.addSeries(series1, series1Format); // Same as above, with series2: mySimpleXYPlot.addSeries(series2, new LineAndPointFormatter(Color.rgb(0, 0, 200), Color.rgb(0, 0, 100), Color.rgb(150, 150, 190))); // Reduce the number of range labels mySimpleXYPlot.setTicksPerRangeLabel(3); // By default, AndroidPlot displays developer guides to aid in laying out your plot. // To get rid of them call disableAllMarkup(): mySimpleXYPlot.disableAllMarkup();
le data00 est un tableau de Float (car la fonction nécessite des "Number") qui contient les données en question
je ne sais pas trop comment m'y prendre...si qq'un pourrait m'éclairer ça m'aiderait beaucoup
merci
oxford
Partager