IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Graphisme Java Discussion :

[JFreeChart] afficher coordonnees de points en mouseover+ traits verticaux


Sujet :

Graphisme Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut [JFreeChart] afficher coordonnees de points en mouseover+ traits verticaux
    Bonjour,

    J'ai crée un graphe multi-courbe avec les biblio JFreeChart.
    je rame.....

    QUESTION 1: - est-il possible d'afficher les coordonnées d'un point de mon graphe lorsqu'on passe la souris dessus ?

    QUESTION 2: - est-il possible de faire des traits verticaux sur un graphe ? (mon axe X represente des jours et je voudrais faire des traits sur des jours speciaux)

    QUESTION 3: - est-il possible d'afficher des notes à coté de mes jours spéciaux, par exemple un commentaire qui apparaîtrait aussi en mouse over ?

    Mon code est le suivant :
    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
     
    // je recupere les donnees de mon graphe
    XYDataset xydataset = getMonDataSet(startDate, endDate);   
     
    JFreeChart chart = ChartFactory.createTimeSeriesChart(
    		 "titre de mon graphe", 
      		 "Jours",
      		 "Nom axe1 Y", 
      		 xydataset , 
      		 true, //boolean legend
      		 true, //boolean tooltips
      		 false);   //boolean urls
     
     
      //  AXIS 
       NumberAxis axis5 = new NumberAxis("AXE Y");
       axis5.setFixedDimension(10.0);
       axis5.setAutoRangeIncludesZero(true);
       axis5.setLabelPaint(Color.black);
       axis5.setTickLabelPaint(Color.black);
       plot.setRangeAxis(4, axis5);
       plot.setRangeAxisLocation(4, AxisLocation.BOTTOM_OR_RIGHT);
       plot.setDataset(4, xydataset );
       plot.mapDatasetToRangeAxis(4, 4);
     
      XYItemRenderer renderer5 = new StandardXYItemRenderer();
     renderer5.setSeriesPaint(0, Color.black);
     
       plot.setRenderer(4, renderer5);
     
     
     
     
       // DEBUT SEUIL = trait horizontal
       ValueMarker valueMarker1= new ValueMarker(500);
       valueMarker1.setLabelOffsetType(LengthAdjustmentType.EXPAND);
       valueMarker1.setPaint(Color.black);
       valueMarker1.setStroke(new BasicStroke(2.0F));
       valueMarker1.setLabel("Seuil minimum");
       valueMarker1.setLabelFont(new Font("SansSerif", 0, 11));
       valueMarker1.setLabelPaint(Color.black);
       valueMarker1.setLabelAnchor(RectangleAnchor.TOP_LEFT);
       valueMarker1.setLabelTextAnchor(TextAnchor.BOTTOM_LEFT);
       plot.addRangeMarker(valueMarker1);
       // FIN SEUIL
    Merci de votre aide

  2. #2
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut
    En cherchant dans le JFreeChart-1.0.13 demo, j'ai trouvé des graphes qui semblent faire ce que je veux

    CategoryMarkerDemo1.java (pour la ligne verticale), ainsi que CategoryPointerAnnotationDemo1.java (pour les etiquettes)
    et le mouse over semble marcher (??) (je comprend pas ???)

    mais je ne sais pas comment integrer le code.

    Est-ce que je peux avoir plusieurs styles de renderer sur un même plot ???
    comment ca marche ?????


    par exemple, pour les lignes verticales, mon code plante car j'ai déclaré un XYItemRenderer dans le code msg précédent,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     XYItemRenderer renderer5 = new StandardXYItemRenderer();
    et que je caste en LineAndShapeRenderer, tous 2 sont dérivés de XYDataset...

    erreur : Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: org.jfree.chart.renderer.xy.StandardXYItemRenderer cannot be cast to org.jfree.chart.renderer.category.LineAndShapeRenderer
    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
     
    //le ligne qui plante est celle ci :
    LineAndShapeRenderer renderer    
           = (LineAndShapeRenderer) plot.getRenderer();   
     
       renderer.setSeriesShapesVisible(0, true);   
       renderer.setDrawOutlines(true);   
       renderer.setUseFillPaint(true);   
       renderer.setFillPaint(Color.white);   
     
       // add a category marker   
       CategoryMarker marker = new CategoryMarker("Category 4", Color.blue,    
               new BasicStroke(1.0f));   
       marker.setDrawAsLine(true);   
       marker.setLabel("Marker Label");   
       marker.setLabelFont(new Font("Dialog", Font.PLAIN, 11));   
       marker.setLabelTextAnchor(TextAnchor.TOP_RIGHT);   
       marker.setLabelOffset(new RectangleInsets(2, 5, 2, 5));   
       plot.addDomainMarker(marker, Layer.BACKGROUND);   
       //end test
    je coule , merci de votre aide

  3. #3
    Membre confirmé Avatar de yaya_la_rafale
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 92
    Par défaut
    pour info, j'ai rajouté des setBaseToolTipGenerator sur mes renderer et ca marche..

    mais c'est pas gratuit d'effort...
    enfin du moins je trouve...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/01/2011, 19h10
  2. Réponses: 3
    Dernier message: 18/11/2008, 13h59
  3. [Jfreechart] Afficher intitulé barre dans un histogramme
    Par keumlebarbare dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 28/11/2006, 15h57
  4. Réponses: 6
    Dernier message: 25/10/2006, 10h46
  5. [Irrlicht] Faire un point ou un trait avec Irrlicht
    Par Spartakis dans le forum Irrlicht
    Réponses: 1
    Dernier message: 06/05/2006, 20h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo