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

Langages Discussion :

Les graphiques dans powershell


Sujet :

Langages

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Les graphiques dans powershell
    Bonjour,

    Je ne pense pas être dans le bon forum, mais n'ayant pas trouvé de forum sur la programmation d'interface graphique pour powershell, j'ai positionné ma discussion dans ce qui me paraissait le plus proche.

    Problème :
    Mon soucis est de ne pas réussir (après bien des essais) à créer un graphique de type "camembert" (Pie chart) sous powershell.

    Voici mon code :
    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
    46
     
    #****************************************************************************************************************
    #***	Chargement des bibliothèques Winforms
    #***    Chargement de la bibliothèque pour avoir accès aux outils graphiques (partie de .NET)
    #****************************************************************************************************************
    [void][Reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
    [void][Reflection.assembly]::LoadWithPartialName("System.Drawings")
    [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization")
     
    # Forme principale
    $Graphique = New-Object System.Windows.Forms.Form
    $Graphique.Text = "Test"
    $Graphique.SizeGripStyle = "Hide"
    $Graphique.Opacity = 1.0							#1.0 = 100 %; 0.0 = invisible
    $Graphique.Location.X = 10
    $Graphique.Location.Y = 22
    $Graphique.Width = 700
    $Graphique.Height = 700				
    $Graphique.Icon = $C_MailOpenClose
    $Graphique.Maximizebox = $False						# Bouton pour mettre en plein écran
    $Graphique.Minimizebox = $True						# Bouton pour mettre dans la barre des tâches
     
    # Objet Graphique (G_)
    $G_Graphique = New-object System.Windows.Forms.DataVisualization.Charting.Chart 
    $Graphique.controls.add($G_Graphique)											#
    $Graphique.Add_Shown({$Graphique.Activate()}) 									# Afficher le graphique dans la forme
    $G_Graphique.Anchor = [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Right -bor [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Left 
     
    # Objet Zone Graphique (ZG_)
    $ZG_GraphArea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea 
     
    # Paramètres du graphique
    $G_Graphique.ChartAreas.Add($ZG_GraphArea)										# Ajout du graphique dans la zone graphique
    [void]$G_Graphique.Titles.Add("Top 5 European Cities by Population")
    $G_Graphique.BackColor = [System.Drawing.Color]::Transparent					# Enleve la zone blanche derrière le graphique
    $G_Graphique.Series["Data"].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Pie
     
    # Ajouter des données au graphique
    $V_Data = @{Test=7556900; Berlin=3429900; Madrid=3213271; Rome=2726539; Paris=2188500} 
    [void]$G_Graphique.Series.Add("Data") 
    $G_Graphique.Series["Data"].Points.DataBindXY($V_Data.Keys, $V_Data.Values)
     
    #****************************************************************************************************************
    #***	Affichage 
    #****************************************************************************************************************
    $Graphique.ShowDialog()
    Site suivi : http://blogs.technet.com/b/richard_m...8/3231887.aspx

    J'ai beau modifier le paramètre "$G_Graphique.Series["Data"].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]:: Pie" il ne fait que m'afficher un graphique en forme d'histogramme (cf le site que j'ai suivi pour la création du graphique, j'obtiens le graph en histogramme basique (même pas en 3D alors que j'avais ajouté les paramètres pour essayer et ça à pas marché...)).

    Quelqu'un aurait-il une idée ?

    Bien cordialement,

  2. #2
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    Hello,

    Quand je test ton code, j'ai l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Property 'ChartType' cannot be found on this object; make sure it exists and is settable.
    At C:\Users\i057591\Desktop\graph.ps1:36 char:29
    + $G_Graphique.Series["Data"]. <<<< ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Pie
        + CategoryInfo          : InvalidOperation: (ChartType:String) [], RuntimeException
        + FullyQualifiedErrorId : PropertyNotFound
    Autrement dit, l'object "Series" n'aurait pas de propriété ChartType ...
    Un début de piste peut-être, je continue à chercher.

    Bon courage.

    DeWaRs

  3. #3
    Membre actif Avatar de DeWaRs
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 291
    Points : 269
    Points
    269
    Par défaut
    J'ai trouvé, tu cherches à ajouter ton type de chart à ta series "data", alors que tu ne l'as pas encore créé.

    Place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $G_Graphique.Series["Data"].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Pie
    apres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # Ajouter des données au graphique
    $V_Data = @{Test=7556900; Berlin=3429900; Madrid=3213271; Rome=2726539; Paris=2188500} 
    [void]$G_Graphique.Series.Add("Data")
    Et ca fonctionne.

    Le code complet fonctionnel :
    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
    46
    47
     
    #****************************************************************************************************************
    #***	Chargement des bibliothèques Winforms
    #***    Chargement de la bibliothèque pour avoir accès aux outils graphiques (partie de .NET)
    #****************************************************************************************************************
    [void][Reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
    [void][Reflection.assembly]::LoadWithPartialName("System.Drawings")
    [void][Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms.DataVisualization")
     
    # Forme principale
    $Graphique = New-Object System.Windows.Forms.Form
    $Graphique.Text = "Test"
    $Graphique.SizeGripStyle = "Hide"
    $Graphique.Opacity = 1.0							#1.0 = 100 %; 0.0 = invisible
    $Graphique.Location.X = 10
    $Graphique.Location.Y = 22
    $Graphique.Width = 700
    $Graphique.Height = 700				
    $Graphique.Icon = $C_MailOpenClose
    $Graphique.Maximizebox = $False						# Bouton pour mettre en plein écran
    $Graphique.Minimizebox = $True						# Bouton pour mettre dans la barre des tâches
     
    # Objet Graphique (G_)
    $G_Graphique = New-object System.Windows.Forms.DataVisualization.Charting.Chart 
    $Graphique.controls.add($G_Graphique)											#
    $Graphique.Add_Shown({$Graphique.Activate()}) 									# Afficher le graphique dans la forme
    $G_Graphique.Anchor = [System.Windows.Forms.AnchorStyles]::Bottom -bor [System.Windows.Forms.AnchorStyles]::Right -bor [System.Windows.Forms.AnchorStyles]::Top -bor [System.Windows.Forms.AnchorStyles]::Left 
     
    # Objet Zone Graphique (ZG_)
    $ZG_GraphArea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea 
     
    # Paramètres du graphique
    $G_Graphique.ChartAreas.Add($ZG_GraphArea)										# Ajout du graphique dans la zone graphique
    [void]$G_Graphique.Titles.Add("Top 5 European Cities by Population")
    $G_Graphique.BackColor = [System.Drawing.Color]::Transparent					# Enleve la zone blanche derrière le graphique
     
     
    # Ajouter des données au graphique
    $V_Data = @{Test=7556900; Berlin=3429900; Madrid=3213271; Rome=2726539; Paris=2188500} 
    [void]$G_Graphique.Series.Add("Data") 
    $G_Graphique.Series["Data"].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Pie
    $G_Graphique.Series["Data"].Points.DataBindXY($V_Data.Keys, $V_Data.Values)
     
    #****************************************************************************************************************
    #***	Affichage 
    #****************************************************************************************************************
    $Graphique.ShowDialog()
    Cordialement.

    DeWaRs

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/05/2010, 09h54
  2. animer les graphiques XL dans PPT
    Par Trophy dans le forum Powerpoint
    Réponses: 1
    Dernier message: 22/05/2007, 09h47
  3. Remplacer "SECTEUR 1" dans les graphiques
    Par curt dans le forum Access
    Réponses: 1
    Dernier message: 10/05/2006, 13h56
  4. Soucis avec les Graphiques dans les états
    Par Chococrocq dans le forum IHM
    Réponses: 27
    Dernier message: 04/01/2006, 19h03

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