[Opened] Besoin de soutien sur jPlot
Posted by obs on 02/11/2011 16:26
Salut à tous,
Pour faire escudo, j'ai besoin de faire des graphs (camemberts, manhattan, etc). Vu que je pense que ça intéressera plein de gens... Je lance un appel à l'aide ;)
Je pense que l'on peut séparer l'API du moteur de rendu assez facilement. Par contre:
- est-ce que je me lance direct dans un rendu SVG ?
- est-ce que j'utilise canvas avec une lib genre jqPlot ?
- est-ce qu'il faut mieux faire le rendu coté client (js) ou coté serveur (PHP) ?
- est-ce que vous avez une idée du genre d'API à créer ?
- graphique dynamique (effet onhover/tooltip/zoom) ou statique ?
Plein de question pour un module compliqué... A+
[Opened] Re: Besoin de soutien sur jPlot
Posted by FlorianLB on 02/11/2011 18:36
Pour des charts, j'utilise plusieurs solutions :
- un plugin de l'excelent RaphaëlJS, gRaphaëlJS : http://g.raphaeljs.com (SVG/VML)
- la librairie highcharts http://highcharts.com (canvas/JS)
Highchart est vraiment complet quoique plus compliqué à prendre en main.
[Opened] Besoin de soutien sur jPlot
Posted by laurentj on 02/12/2011 09:16
Salut,
est-ce que je me lance direct dans un rendu SVG ?
est-ce que j'utilise canvas avec une lib genre jqPlot ?
si on parle d'un point de vue accessibilité, je pense que le mieux est du SVG. Une autre solution encore meilleur, c'est d'avoir les données dans un tableau HTML (à la limite caché), et une lib js qui prend ce tableau comme source de donnée et dessine le camembert avec canvas ou autre.
est-ce qu'il faut mieux faire le rendu coté client (js) ou coté serveur (PHP) ?
coté client, ça prend moins de ressource pour le serveur (sauf si le volume de donnée est supérieur à un SVG/PNG généré dynamiquement, mais c'est rarement le cas)
est-ce que vous avez une idée du genre d'API à créer ?
Utilise une lib js existante, il y en a plein.
graphique dynamique (effet onhover/tooltip/zoom) ou statique ?
je dirais que ça est une affaire de gout, du moment que les données soient accessibles (si on tient à avoir un site accessible, ce qui est recommandé, en particulier pour que le plus célèbre des aveugles puisse le lire, à savoir Google ;-)).
[Opened] Besoin de soutien sur jPlot
Posted by obs on 02/12/2011 17:38
Effectivement Highcharts est sur-puissant. Je pense copier jGmap pour avoir un jPlot.
[Opened] Besoin de soutien sur jPlot
[Opened] Besoin de soutien sur jPlot
Posted by obs on 02/14/2011 14:57
@FlorianLB, comment gères-tu les nombreuses options de Hightcharts ? Tu en utilises bcp ?
[Opened] Re: Besoin de soutien sur jPlot
Posted by FlorianLB on 02/14/2011 19:07
Je l'ai beaucoup utilisé à une période. Je suis parti de simples courbes et piechart et j'ai trifouillé dans les options pour les comprendre et à force, tu peux faire des trucs bien sympas.
Mais c'est clair que je pense pas avoir utilisé le quart des possibilités de cette librairie.
Maintenant pour des graphes simples et interactifs, j’aurai tendance à utiliser gRaphael.
[Opened] Besoin de soutien sur jPlot
Posted by obs on 03/02/2011 10:23
J'ai un peu avancé sur jPlot. J'ai fait une intégration "sauvage" de highchart dans mon projet escudo.
Voilà comment ça se présente:
D'abord je crée un tableau contenant les chiffres du graphique. J'agrémente les th
de méta-data.
<table> <code> <caption>Mes économies</caption> <thead> <tr> <th></th> <th data-jplot-type="column">Débit</th> <th data-jplot-type="column">Crédit</th> <th data-jplot-type="spline">Balance</th> </tr> </thead> <tbody> <tr> <th>2007</th> <td>1000</td> <td>1500</td> <td>500</td> </tr> </tbody></table> </code>
Puis, j'utilise un peu de js pour récupérer du tableau les données et créer dynamiquement le graphique:
-
<caption>
va donner le titre du graph - crédit et débit vont être représenter comme des colonnes
- balance va être représenter par une ligne
- le
<th>
de ligne du<tbody>
correpond au libellé de la ligne
Maintenant je me demande comment l'intégrer à jelix:
- module ?
- modificateur de template ?
et si c'est une solution qui vous parait élégante
[Opened] Besoin de soutien sur jPlot
Posted by laurentj on 03/02/2011 13:40
je dirais fonction de template (plugin), à laquelle tu indiques l'id de ton tableau. et le plugin génère le code JS qui va bien et/ou ajouter à la réponse les feuilles de styles et liens js nécessaires.
module: non, à priori, c'est hors sujet.