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 :

Ms chart.net boxplot


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Inscrit en
    Mars 2003
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 217
    Points : 73
    Points
    73
    Par défaut Ms chart.net boxplot
    Bonjour,
    Je suis en train d'utiliser la serie boxplot du graphe MS chart.net. Je fixe les limite du graphe dans l'évènement customize du graphe ainsi que la modificaiton du texte de customlabel de l'axisX.
    Mes problèmes sont:
    1. l'affichage des valeurs dans l'axe Y se déforme. Par contre, en faisant un zoom sur le graphe l'affichage redevient normal. Voir ci-joint copie d'ecran.
    2. J'ai une grande espace entre l'axe des Y et le 1er boxplot.
    Est ce qu'il y a un moyen de regler ces deux problèmes? J'ai essayé de de declencher un zoom dans l'évènement postpaint mais ca ne marche pas.

    code dans customize

    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
    48
    49
    50
    51
    52
    53
    54
    boxPlotChart.SuspendLayout();
                    boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisX.CustomLabels.Clear();
                    List<DataManager.Variable> variables = ProcessVariable.variablesList2(true);
                    double min = double.MaxValue;
                    double max = double.MinValue;
                    for (int i = 0; i < _boxPlotList.Count; i++)
                    {
                        int count = 1;
                        foreach (DataPoint dp in _boxPlotList[i].Points)
                        {
                            if (count == 1)
                            {
                                min = Math.Min(min, _boxPlotList[i].Points.FindMinByValue().YValues[0]);
                                max = Math.Max(max, _boxPlotList[i].Points.FindMaxByValue().YValues[1]);
                            }
                            dp.XValue = count;
                            if (i == 0)
                            {
                                if (_byGroup)
                                {
                                    customLabelAxisX(count, /*(count - 1).ToString()*/(count - 1) == 0 ? "TRUE" : "FALSE");
                                    boxPlotLegend(true);
                                }
                                else
                                {
                                    customLabelAxisX(count, _selectedVariables[count - 1]);
                                    boxPlotToolip(dp, variables.First(var => var.Id.Equals(_selectedVariables[count - 1])));
                                    boxPlotLegend(false);
                                }
                            }
     
                            if (_byGroup)
                            {
                                boxPlotToolip(dp, variables.First(var => var.Id.Equals(_selectedVariables[i])));
                            }
                            count += 1;
                        }
     
                        if (count == _boxPlotList[i].Points.Count + 1 && i == 0)
                        {
                            boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisX.Minimum = -1;
                            boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisX.Maximum = _boxPlotList[i].Points.Count + 1;
                            if (boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisX.Minimum == boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisX.Maximum)
                            {
                                boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisX.Maximum += 1;
                                boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisX.Minimum -= 1;
                            }
                        }
     
                        if (i == _boxPlotList.Count - 1)
                        {
                            boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisY.Minimum = min - ((max - min) / 4);
                            boxPlotChart.ChartAreas[CHARTAREA_NAME].AxisY.Maximum = max + ((max - min) / 4);
                        }
    Merci d'avance pour votre aide
    Images attachées Images attachées  

Discussions similaires

  1. microsoft chart .net
    Par ayarikhaoulakoukou dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/03/2011, 12h40
  2. [CR]ASP.NET(C#) Chart Légende
    Par hippoX dans le forum SDK
    Réponses: 0
    Dernier message: 26/10/2007, 12h40
  3. Charts & VB.NET
    Par Pierre Fauconnier dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/05/2007, 00h07
  4. Chart & VB.NET
    Par Lux interior dans le forum XMLRAD
    Réponses: 9
    Dernier message: 15/02/2006, 09h29

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