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

Windows Forms Discussion :

graph avec ZedGraph


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Par défaut graph avec ZedGraph
    Bonjour à tous !

    Voici mon petit problème, j'utilise la dll ZedGraph pour créer un graphique. Je me suis (grandement, ce n'est qu'un test pour le moment pour voir comment cela fonctionne) du tutoriel ci joint : http://jca.developpez.com/fichiers/C...h/ZedGraph.pdf

    Après avoir suivi, je pense, toutes les étapes, cela ne fonctionne pas. Aucune erreur de code, par contre, rien ne s'affiche. Voici mon code, si cela peut aider à trouver ma coquille.
    Cordialement.

    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
     
     
    ZedGraphControl zgc = new ZedGraphControl();
    ZedGraph.GraphPane graph = zgc.GraphPane;
     
    zgc.Location = new Point(10, 10);
    zgc.Size = new Size(ClientRectangle.Width - 20, ClientRectangle.Height - 20);
     
    //Initialisation texte du graph
    graph.Title.Text = "Graphique age/nombres clients";
    graph.XAxis.Title.Text = "Nombres Clients";
    graph.YAxis.Title.Text="Ages Clients";
     
    //Initialisation de la liste des points présents sur le graph
    ZedGraph.PointPairList liste = new ZedGraph.PointPairList();
     
    //mise en place des données dans le graphe pour 2025
    for (i = 0; i < 20; i++)
    {
             x = i;
             y = sup70;
             liste.Add(x, y);
    }
     
    zgc.AxisChange();
     
    ZedGraph.LineItem courbe= graph.AddCurve("Je sais pas", liste, Color.Black);

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut
    c'est quoi comme type i?
    un int ?
    essaye avec double
    c'est quoi sup70?
    Je te conseil de reprendre l'exemple tel qu'il est dans le pdf puis de le modifier au fur et a mesure.
    Bon courage

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Par défaut
    en effet skunkies i c'est un int, et sup70 c'est une variable égalemement de type int.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut
    et alors ca marche maintenant avec un double?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 323
    Par défaut
    non toujours pas. J'ai bien vérifié le code donné dans le tuto et le mien, et je ne vois pas ce qui pourrait ne pas fonctionner

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 614
    Par défaut
    je vais te donner ce que j'ai fait et tu adapteras.
    J'ai ajouter dans le designer un ZedGraphControl zg1
    Au demarrage de mon Form:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     private void Form_Graph_Load(object sender, EventArgs e)
            {
             CreatePaneGraph(zg1);
    	SetSize();
            }
    La fonction CreatePaneGraph qui crée un bar

    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
    private void CreatePaneGraph(ZedGraphControl zgc)
             {   
                 MasterPane master = zgc.MasterPane;
                 master.PaneList.Clear();
    
                
                 master.Title.IsVisible = true;
                 master.Title.Text = "Panneau Graphique";
                 master.Margin.All = 10;
                 
                 GraphPane pane1 = new GraphPane();
                  CreateIntraPeriodChart(pane1);
    
                 master.Add(pane1);
                 zgc.AxisChange();
    
                 using (Graphics g = this.CreateGraphics())
                 {                 master.SetLayout(g,PaneLayout.SquareColPreferred);
                 }
             }

    Le fonction CreateIntraPeriodChart


    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
     
           public void CreateIntraPeriodChart(GraphPane myPane)
            {
                int iCurrYear = DateTime.Now.Year;
                int iPrevYear = DateTime.Now.Year - 1;
     
                myPane.Title.Text = "Comparaison trimestre à trimestre";
                myPane.XAxis.Title.Text = "Trimestre";
                myPane.YAxis.Title.Text = "CA en miller d'€";
     
                PointPairList list = new PointPairList();
                PointPairList list2 = new PointPairList();
     
                //Random rand = new Random();
     
                double y = 0;
                double x = 0;
     
                    for (int i = 1; i < 5; i++)
                    {
                        x = (double)i;
                        y = (double)i;
                        list.Add(x, y);
                    }
                BarItem myCurve = myPane.AddBar("Trimestre année N-1", list, Color.Blue);
                BarItem myCurve2 = myPane.AddBar("Trimestre année N", list2, Color.Red);
                myPane.Chart.Fill = new Fill(Color.White,Color.FromArgb(255, 255, 166), 45.0F);
                myPane.AxisChange();
                myPane.YAxis.Scale.Max += myPane.YAxis.Scale.MajorStep;
                BarItem.CreateBarLabels(myPane, false, "f0");
     
            }
    En esperant que cela t'aidera

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

Discussions similaires

  1. [Débutant] Problème actualisation d'un graph avec ZedGraph
    Par frouby dans le forum C#
    Réponses: 9
    Dernier message: 27/10/2011, 15h30
  2. Probleme de creation de graph avec ZedGraph
    Par skunkies dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/01/2009, 20h53
  3. Graphe avec java
    Par alamihamza dans le forum 2D
    Réponses: 3
    Dernier message: 07/03/2005, 17h14
  4. [NetBeans] graphe avec netBeans :?:
    Par sofien dans le forum NetBeans
    Réponses: 1
    Dernier message: 28/02/2005, 19h54
  5. Affichage graphe avec DBChart
    Par grominetos dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/06/2004, 19h17

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