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

C# Discussion :

Création de stacked bar chart


Sujet :

C#

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut Création de stacked bar chart
    Bonjour

    J'ai un jeu de données lequel possède une liste de colonne de plusieurs fichiers et respective type de données (de chaque colonne).

    Je voudrais afficher ceci avec un stacked bar sous la forme suivante.

    Nom : 1.png
Affichages : 251
Taille : 7,4 Ko

    Dans le graph souhaité de souhaite voir, pour chaque fichier, les colonnes qu'il possède. Les couleurs servent à distinguer le type de contenu de ces colonnes (Bleu: string; Jaune: numérique; Vert: Date).

    J'ai déjà recherché des infos. J'en ai trouvé mais je ne m'en sort pas.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    List<CSVCellInfo> rowData = this.data["File 1"][0];
    foreach (CSVCellInfo CSVci in rowData)
       {
       this.chart1.Series.Add(CSVci.Header);                    // Obtention du nom de la colonne
       Color color = CSVCellInfo.GetColor(CSVci);              // Retourne la couleur à appliquer à cette colonne
       this.chart1.Series[CSVci.Header].Points.AddY(1);     // 1 parce que la valeur n'est pas importante. Toutes les colonnes seront représentées avec même taille
       this.chart1.Series[CSVci.Header].ChartType = (SeriesChartType)Enum.Parse(typeof(SeriesChartType), "StackedArea", true); // Pour que ça soit un stacked bar chart
    }
    1 - Pour le moment, mon code est simplifié de façon à découvrir ce qu'il me manque. Il ne traite qu'un seul fichier, donc je devrais obtenir 1 graph d'une colonne avec 3 zones de couleur différente "superposées".
    2 - Mon code me génère un graph barchart sans qu'il soit "stacked". J'ai donc 3 colonnes pour le fichier
    3 - Je ne sais pas comment appliqué la couleur à la colonne respective.


    Quelqu'un pourrait-il m'aider? quelqu'un aurait-il un simple exemple de stacked bar chart de façon à ce que je comprenne comment ça fonctionne?

    Merci

  2. #2
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Bonjour,
    As-tu vu le code snippet du WinFormsChartSamples? Sinon, essayes de voir si tu peux en tirer quelque chose:
    Code c# : 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
    using System.Windows.Forms.DataVisualization.Charting;...
    // Populate series data
    Random    random = new Random();
    for(int pointIndex = 0; pointIndex < 10; pointIndex++)
    {
        chart1.Series["LightBlue"].Points.AddY(random.Next(45, 95));
    }
     
     
    // Set chart type
    chart1.Series["LightBlue"].ChartType = SeriesChartType.StackedArea100;
     
     
    // Show point labels
    chart1.Series["LightBlue"].IsValueShownAsLabel = true;
     
     
    // Disable X axis margin
    chart1.ChartAreas["Default"].AxisX.IsMarginVisible = false;
     
     
    // Set the first two series to be grouped into Group1
    chart1.Series["LightBlue"]["StackedGroupName"] = "Group1";
    chart1.Series["Gold"]["StackedGroupName"] = "Group1";
     
     
    // Set the last two series to be grouped into Group2
    chart1.Series["Red"]["StackedGroupName"] = "Group2";
    chart1.Series["DarkBlue"]["StackedGroupName"] = "Group2";
     
     
    // Set to 3D
    chart1.ChartAreas["Default"].Area3DStyle.Enable3D = true;
    N'oubliez pas le tag et

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut
    Merci pour la réponse.

    Oui, j'ai déjà vu et je me suis basé sur cela mais sans trop de succès...

    Citation Envoyé par callo Voir le message
    Bonjour,
    As-tu vu le code snippet du WinFormsChartSamples? Sinon, essayes de voir si tu peux en tirer quelque chose:
    Code c# : 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
    using System.Windows.Forms.DataVisualization.Charting;...
    // Populate series data
    Random    random = new Random();
    for(int pointIndex = 0; pointIndex < 10; pointIndex++)
    {
        chart1.Series["LightBlue"].Points.AddY(random.Next(45, 95));
    }
     
     
    // Set chart type
    chart1.Series["LightBlue"].ChartType = SeriesChartType.StackedArea100;
     
     
    // Show point labels
    chart1.Series["LightBlue"].IsValueShownAsLabel = true;
     
     
    // Disable X axis margin
    chart1.ChartAreas["Default"].AxisX.IsMarginVisible = false;
     
     
    // Set the first two series to be grouped into Group1
    chart1.Series["LightBlue"]["StackedGroupName"] = "Group1";
    chart1.Series["Gold"]["StackedGroupName"] = "Group1";
     
     
    // Set the last two series to be grouped into Group2
    chart1.Series["Red"]["StackedGroupName"] = "Group2";
    chart1.Series["DarkBlue"]["StackedGroupName"] = "Group2";
     
     
    // Set to 3D
    chart1.ChartAreas["Default"].Area3DStyle.Enable3D = true;

Discussions similaires

  1. [VxiR2] affichage valeurs dans bar charts "vertical stacked"
    Par boutte dans le forum Webi
    Réponses: 1
    Dernier message: 02/09/2009, 11h34
  2. Percent Stacked Bar Chart et données en lignes
    Par porchouneix dans le forum BIRT
    Réponses: 2
    Dernier message: 23/02/2009, 15h36
  3. Réponses: 0
    Dernier message: 25/09/2007, 15h11
  4. Bar chart dans JTable
    Par hmd01 dans le forum Composants
    Réponses: 2
    Dernier message: 02/03/2007, 16h16
  5. Comment faire un Bar chart de répartition
    Par carotte31 dans le forum BIRT
    Réponses: 16
    Dernier message: 01/08/2006, 14h39

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