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

VB.NET Discussion :

Chart XValue et AddXY [Débutant]


Sujet :

VB.NET

  1. #1
    Membre actif
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Points : 275
    Points
    275
    Par défaut Chart XValue et AddXY
    Bonjour,

    Je me heurte à un pb :
    Pour ajouter un point dans un chart j'ai identifié 2 méthodes qui "semblent" synonymes. Je mets des guillemets car les comportements ne sont pas identiques quand on approfondis et je n'ai rien trouvé dans MSDN ou dans le tuto de P. Lasserre qui explique ou permette de prévoir ces différences.

    1ère méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Chart1.Series.Add("série1")
    Dim oPoint As New DataPoint
    oPoint.XValue = valeurX
    oPoint.YValues = {valeurY}
    Chart1.Series("série1").Points.Add(oPoint)
    2ème méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Chart1.Series.Add("série1")
    Chart1.Series("série1").Points.AddXY(valeurX ,valeurY)
    Le pb est le suivant :
    XValue n'admet que des valeurs de type Double. Donc si je veux faire un chart de type Bar avec des histogrammes correspondant à des valeurs à une date donnée (par exemple "mars-2013", je ne peux pas écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oPoint.XValue = maDate.ToString("MMM-yyyy")
    Curieusement, ça marche avec la 2ème méthode puisque le premier paramètre de AddXY peut-être de n'importe quel type.

    Cependant, j'ai remarqué que, si je prolonge le code de la méthode 2 en cherchant à afficher la propriété XValue d'un point, sa valeur retournée est 0
    Or, dans mon code, j'ai besoin d'accéder à cette XValue (cas typique où, dans une procédure événementielle MouseDoubleClick sur le chart, j'identifie l'histogramme sur lequel je clique pour afficher son détail dans un DataGridView)

    Par ailleurs, je remarque aussi que les labels des histogrammes ne sont pas affichés pour chaque histogramme. Je suppose que cela se gère ailleurs mais je n'ai pas ce pb avec la 1ère méthode.

    Quelqu'un a-t-il une solution ?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Points : 293
    Points
    293
    Par défaut
    je suis pas sur mais tu peux essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    oPoint.XValue = Cdate(maDate.ToString("MMM-yyyy"))

  3. #3
    Membre actif
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Points : 275
    Points
    275
    Par défaut
    Bien tenté, mais ça ne marche pas.
    L'IDE propose de rajouter ToOADate mais du coup, je perds le bénéfice du format voulu (la date apparaît comme un nombre à 5 chiffres)
    De plus, cette méthode plante si je prends un format comme "yyyy" au lieu de "MMM-yyyy" (ce dernier point n'étant pas rédhibitoire, j'en conviens).

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2012
    Messages
    206
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 206
    Points : 455
    Points
    455
    Par défaut
    A chaque fois que j'ai eu a faire cela j'ai posé une abscisse en X et rajouter la date en AxisLabel.

  5. #5
    Membre actif
    Inscrit en
    Juillet 2013
    Messages
    777
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 777
    Points : 275
    Points
    275
    Par défaut
    Bien vu, c'était ça : utiliser la propriété AxisLabel du DataPoint au lieu de XValue.
    Merci !

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

Discussions similaires

  1. [Débutant] Chart Control et addXY
    Par angel46 dans le forum C#
    Réponses: 0
    Dernier message: 08/01/2013, 14h47
  2. Example d'applications XMLGRAM Chart
    Par danuz dans le forum XMLRAD
    Réponses: 5
    Dernier message: 29/07/2003, 18h00
  3. [VB6] Modification des axes d'un composant Chart
    Par HPJ dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/05/2003, 08h33
  4. Exemples XMLGram Chart et Gestion Exception
    Par Sylvain James dans le forum XMLRAD
    Réponses: 5
    Dernier message: 05/05/2003, 18h50
  5. Créer une série dans un chart
    Par cyrose dans le forum C++Builder
    Réponses: 5
    Dernier message: 28/11/2002, 11h37

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