[Résolu] [Cewolf] pb affichage, échelle sur l'axe des abscisses ?

pb affichage, échelle sur l'axe des abscisses ? [Résolu] [Cewolf] - Java - Programmation

Marsh Posté le 11-05-2005 à 10:33:38    

Bonjour,
 
Je génère des graphes (type line) dans une page jsp.
Sur l'axe des abscisses sont représentés les jours.  
En l'occurence 365 jours sur environ 400 pixels.
Et donc à l'affichage, ca passe pas, j'ai une ligne noire continue.
 
Comment faire pour afficher seulement 0 - 50 - 100 - ... - 350 - 365 ?
J'ai fouillé dans le tutorial et la javadoc de Cewolf. Je n'ai pas trouvé.
 
Pour info j'ai une classe avec la fonction suivante:

Code :
  1. public Object produceDataset(Map params) throws DatasetProduceException {
  2.      log.debug("producing data." );
  3.         DefaultCategoryDataset dataset = new DefaultCategoryDataset();
  4.         float[] tabData = (float[]) params.get("tabISYear" );
  5.         String label = new String("Indice de stress" );
  6.        
  7.  for ( int i=0; i< tabData.length; i++) {
  8.   dataset.addValue(tabData[i], label , new Integer(i));
  9.  }
  10.         return dataset;
  11.     }


Et dans mon jsp, j'affiche mes graphes ainsi:

Code :
  1. <cewolf:chart     id="line"     title="Scénario 1"     type="line"     xaxislabel="Jours"     yaxislabel="Indice de stress hydrique">
  2. <cewolf:data>       
  3.  <cewolf:producer id="pageViews1">
  4.   <cewolf:param name="tabISYear" value="<%=(float []) session.getAttribute(com.scot.wipp.Constants.METEO_IS_YEAR_GRAPH1_KEY)%>" />
  5.     </cewolf:producer> 
  6. </cewolf:data>
  7. </cewolf:chart>
  8. <cewolf:img chartid="line" renderer="cewolf" width="400" height="300"/>


 
Vous avez une idée ? Si je ne suis pas clair, n'hésitez pas.
Je suis ouvert à toute remarque, merci d'avance ;)


Message édité par Pwill le 17-05-2005 à 16:52:04
Reply

Marsh Posté le 11-05-2005 à 10:33:38   

Reply

Marsh Posté le 11-05-2005 à 11:35:21    

tu pourrais stp:
- donner les urls des docs que tu as lues et celles de la lib utilisée ici
- montrer ce que ça donne visuellement, parce que je suis pas sur de comprendre ton probleme là?
 
merci


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 11-05-2005 à 11:52:50    

Lien vers Cewolf.
http://cewolf.sourceforge.net/new/index.html
 
http://www.hiboox.com/images/kgzpy7.JPG
 
Y'avais plus simple, en fait ce que je voulais dire, c'est qu'il n'y a pas la place d'afficher tous les nombres de 1 à 365 sur l'axe des abscisses. De ce fait j'ai une ligne noire continue illisible.  
Pour plus de clarté je souhaiterais n'avoir que 0 - 50 - ... - 350.
 
Merci

Reply

Marsh Posté le 11-05-2005 à 11:55:11    

ha, tu parles de la légende de l'axe en fait?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 11-05-2005 à 11:59:23    

Oui, enfin pas la légende en elle-même, la graduation plutôt  [:airforceone]

Reply

Marsh Posté le 11-05-2005 à 12:02:49    

ok je vois


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 11-05-2005 à 12:11:22    

Hmm, à mon avis, tu devrais pê voir du coté du Dataset : http://www.jfree.org/jfreechart/ja [...] taset.html
... et sans doute utiliser une autre implementation. La à mon avis tu as trop de "categories" sur ton axe, du coup jfreechart décide de pas les afficher (ou bien les affiche les unes sur les autres, resultat c'est tout noir, ça je sais pas)
 
(au pif, je dirais une des implementations dont le nom commence par Time*)


Message édité par the real moins moins le 11-05-2005 à 12:13:17

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 11-05-2005 à 12:12:12    

Est-ce que JFreeChart permet cela?
Je vais regarder si je peux pas utiliser plus précisément JFreeChart et Cewolf ensemble.  
C'est quand même bête mon truc.

Reply

Marsh Posté le 11-05-2005 à 12:13:34    

Pwill a écrit :

Est-ce que JFreeChart permet cela?
Je vais regarder si je peux pas utiliser plus précisément JFreeChart et Cewolf ensemble.  
C'est quand même bête mon truc.


ben Cewolf n'est jamais qu'une taglib autour de jfreechart


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 12-05-2005 à 01:32:05    

alors.... ?


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 12-05-2005 à 01:32:05   

Reply

Marsh Posté le 12-05-2005 à 10:34:40    

Alors, rien pour le moment, me suis pas encore penché plus en avant sur JFreeChart, j'ai eu un autre problème plus "grave" à résoudre.
Suis certain que c'est tout bête, sinon y'aurait un manque pratique énorme de l'outil.
Dès que je trouve, je donne la soluce ;)

Reply

Marsh Posté le 12-05-2005 à 14:02:01    

mais ça peut pas te prendre des heures de recherche, t'as juste  
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
à changer :)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 12-05-2005 à 15:02:13    

Oui ben comme j'avais pas le mot anglais correspondant à l'éventuelle propriété nécessaire. Pas facile.
 
Tu me parles d'un changement au niveau du dataset... ce midi j'étais parti sur les tick... en fait ce n'est pas ca.
Merci, je regarde sur les dataset alors ;)

Reply

Marsh Posté le 12-05-2005 à 15:10:57    

ben à mon avis tu vas devoir utiliser une des implementations de Dataset dont le nom commencent par Time, va voir leurs docs


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 12-05-2005 à 17:05:29    

Tu penses à TimeTableXYDataset ?
 
Dommage que la doc ne soit pas libre :'(

Reply

Marsh Posté le 12-05-2005 à 17:07:50    

euh, la javadoc est dispo hein


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 12-05-2005 à 17:15:22    

Je parlais des tutoriaux, exemples, etc qui sont payants ;)

Reply

Marsh Posté le 17-05-2005 à 16:51:35    

J'ai bêtement fait ca pour régler le problème :o

Code :
  1. XYSeriesCollection dataset= new XYSeriesCollection();
  2. XYSeries serie= new XYSeries("Indice de stress", false, false);
  3. float[] tabData = (float[]) params.get("tabISYear" );
  4. for (int i= 0; i<tabData.length; i++)
  5.         serie.add(i,tabData[i]);
  6.        
  7. dataset.addSeries(serie);
  8. return dataset;


 
Time ne convenait pas, j'ai des jours numérotés de 1 a 365 sans avoir plus d'informations.
 
Merci ;)


---------------
Profil D3 Florent#2683
Reply

Sujets relatifs:

Leave a Replay

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