graphique à partir de donnée XML openlazlo

graphique à partir de donnée XML openlazlo - HTML/CSS - Programmation

Marsh Posté le 24-10-2006 à 17:09:16    

Salut,
J'ai un petit souci, j'aimerais faire un graphique trés simple, avec juste des courbes sur une grille.
Malheureusement je ne sais comment le faire, il y a plusieurs choix, flash ou openlazlo.
J'aimerais de préférence le faire en openlazlo, car pas de probléme de licence (et bien performant).
Est-ce que quelqu'un c'est utiliser Openlazlo.?
Mes données en xml sont du genre:
<bateau>
 <nom> yah </nom>
 <vent>
  <noeud>  
   <valeur> 4 </valeur>
 
   <foc_grd_voile>
    <angle>
     <degre> 0 </degre>  
     <valeur> 0 </valeur>
    </angle>  
    <angle>
     <degre> 10 </degre>  
     <valeur> 3 </valeur>
    </angle>
    <angle>
     <degre> 20 </degre>
     <valeur> 4.5 </valeur>
    </angle>
      </noeud>
</vent>
</bateau>
 
Si quelqu'un pourrait m'aider ou me conseiller, ou me donner un exmple de graphique fais sous openlazlo, ça m'arrangerait fortement.
Ou même un site avec des exemples et tt et tt..
lol
Merci d'avance

Reply

Marsh Posté le 24-10-2006 à 17:09:16   

Reply

Marsh Posté le 24-10-2006 à 18:13:14    

je commence à voir le truc, j'e vais faire point par point en ayant en sur mes axes des abcisses "yah: /bateau/vent/noeud/foc_grd_voile/angle/degree/"
et mes axes des ordonnés :
"yah: /bateau/vent/noeud/foc_grd_voile/angle/valeur"
en faisant des points de différentes couleur suivant la valeur du noeud, ça me fait ça:
 <view bgcolor="red"
            x="yah: /bateau/vent/noeud/foc_grd_voile/angle/degree/text()"/>"  
  y="yah: /bateau/vent/noeud/foc_grd_voile/angle/valeur"
            width="6"
            height="6"/>
 </view>
 </view>
 
Par contre comment lui dire que de changer de couleur pour chaque noeud qu'il rencontre ça j'en sais rien, je ne trouve pas. (je n'ai pas non plus testé mon truc, donc il risque d'y avoir des erreurs).


Message édité par goofy35 le 24-10-2006 à 18:14:07
Reply

Marsh Posté le 26-10-2006 à 11:30:07    

OpenLazlo c'est du flash non ?

Reply

Marsh Posté le 02-11-2006 à 15:19:07    

ça marche comme du flash, mais c'est du javascript dans du xml.

Reply

Marsh Posté le 02-11-2006 à 15:26:12    

voila ou j'en suis:
<?xml version="1.0" encoding="UTF-8" ?>
<canvas debug="false">
 <dataset name="myData" src="../polaires/sunfast.xml" request="true"/>
 
<class name="polaire" height="200"  width="200" extends="view"
ondata="graph.afficher()">
 
<simplelayout/>
<text name="lenom"/>
<drawview name="graph">
    <method name="afficher"><![CDATA[
     clear();
     beginPath();
     moveTo(0,0);
     parent.lenom.setText(parent.datapath.xpathQuery('nom/text()'));
     parent.datapath.selectChild(1);
     parent.datapath.selectNext();
     parent.datapath.selectChild(1);
     while(parent.datapath.selectNext()) {
      var deg = parseFloat(parent.datapath.xpathQuery('degre/text()'));
      var val = 10*parseFloat(parent.datapath.xpathQuery('valeur/text()'));
      lineTo(val,deg);
     }
     stroke();
     ]]>
    </method>    
</drawview>
</class>
<window closeable="true">
<polaire datapath="myData:/*">
</polaire>
</window>
 
</canvas>

Reply

Marsh Posté le 05-02-2009 à 14:55:42    

goofy35 a écrit :

voila ou j'en suis:
<?xml version="1.0" encoding="UTF-8" ?>
<canvas debug="false">
 <dataset name="myData" src="../polaires/sunfast.xml" request="true"/>
 
<class name="polaire" height="200"  width="200" extends="view"
ondata="graph.afficher()">
 
<simplelayout/>
<text name="lenom"/>
<drawview name="graph">
    <method name="afficher"><![CDATA[
     clear();
     beginPath();
     moveTo(0,0);
     parent.lenom.setText(parent.datapath.xpathQuery('nom/text()'));
     parent.datapath.selectChild(1);
     parent.datapath.selectNext();
     parent.datapath.selectChild(1);
     while(parent.datapath.selectNext()) {
      var deg = parseFloat(parent.datapath.xpathQuery('degre/text()'));
      var val = 10*parseFloat(parent.datapath.xpathQuery('valeur/text()'));
      lineTo(val,deg);
     }
     stroke();
     ]]>
    </method>    
</drawview>
</class>
<window closeable="true">
<polaire datapath="myData:/*">
</polaire>
</window>
 
</canvas>


 
En fait, le javascript va fonctionner si tu mets tes fonction dans une fonction vide. Allez savoir pourquoi...
<method name="afficher"><![CDATA[
function() {
     clear();
     beginPath();
     moveTo(0,0);
     parent.lenom.setText(parent.datapath.xpathQuery('nom/text()'));
     parent.datapath.selectChild(1);
     parent.datapath.selectNext();
     parent.datapath.selectChild(1);
     while(parent.datapath.selectNext()) {
      var deg = parseFloat(parent.datapath.xpathQuery('degre/text()'));
      var val = 10*parseFloat(parent.datapath.xpathQuery('valeur/text()'));
      lineTo(val,deg);
     }
     stroke();
}
     ]]>
    </method>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed