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 :

Recalage des ordonnées


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut Recalage des ordonnées


    Sur mes graphiques, lorsque j'ai une série de valeur assez proches des limites fixées,on me demande de recaler les ordonnées pour recentrer un peu les données dans le graphique.

    J'arrive à faire ceci:

    Cela dit ce n'est pas très propre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chtParam.ChartAreas(0).AxisY.Minimum = Math.Floor(Math.Truncate(lowerVal - (lowerVal / 5)))
    Dans le code ci-dessus, je détermine la valeur minimum de l'axe Y par rapport à la plus petite valeur du graphique avec une marge de 20%.

    Ce que j'aimerais, c'est pouvoir déterminer des valeur arrondie par exemple ici, 272 devrait plutôt être à 250 voir 200 et que le pas des ordonnées suive comme avant les modifications. Mon plus gros soucis c'est la mixité des valeur donc ça doit être adaptable à n'importe quel type de valeur avec ou sans décimale. J'ai des valeurs très petites comme une limite à 0.8 d'autres plus haute comme 100.000 etc...

    Pour le moment je ne vois pas trop comment définir tout cela. Si jamais vous avez des idées, en espérant avoir été assez clair


    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    j'avais fait un truc dans le genre à l'époque, un peu bricolé mais ca doit pouvoir se coder un peu mieux

    il suffit d'arrondir le min à l'unité en dessous et éventuellement de lui faire - 1 unité
    inversement pour le max
    et cette unité est à calculer selon l'amplitude
    par exemple avec des valeurs entre 4.5 et 6.9 l'unité serait de .5, ce qui ferait 3.5 (4.5 arrondi à .5 => 4.5 - 1*.5 => 3) => 7.5
    alors que pour des valeurs entre 25128 et 32145 l'unité serait aux alentours de 500 ou 1000

    soit tu fais un select case géant (case < .001, case < .01 etc... jusqu'à case < 100000 et case else)
    soit tu codes un algo qui en fonction de l'amplitude te trouve le pas
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. [JpGraph] Axe des ordonnées
    Par Ben42 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 11/12/2007, 23h48
  2. Réponses: 2
    Dernier message: 12/09/2007, 09h29
  3. Réponses: 2
    Dernier message: 23/08/2007, 09h26
  4. Réponses: 7
    Dernier message: 17/05/2007, 17h03
  5. Modifier le Mini et le maxi de l'axe des ordonnées
    Par Jeannot45 dans le forum Access
    Réponses: 2
    Dernier message: 04/11/2005, 15h49

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