À l'échelle de l'Axe Y d'un Graphique en fonction de la valeur au sein d'une section de Valeurs de X pour plusieurs Séries
J'ai une aplication comme ceci:
Avec les zones de texte ci-dessous le graphique, l'utilisateur peut définir le min et max de l'Axe des X du Graphique. C'est cette partie du code:
private void textBoxXaxisMin_TextChanged(object sender, EventArgs e)
{
double x;
//checks if the input is a double and smaller than the max value
//if (Double.TryParse(this.textBoxXaxisMin.Text, out x) && x < chart1.ChartAreas[0].AxisX.Maximum)
if (Double.TryParse(this.textBoxXaxisMin.Text, out x))
{
this.textBoxXaxisMin.BackColor = Color.White;
chart1.ChartAreas[0].AxisX.Minimum = Convert.ToDouble(this.textBoxXaxisMin.Text);
//changeYScalaMin(chartCharacteristicCurvesThermoelemts, Convert.ToDouble(this.textBoxCharacteristicCurvesThermoelementXmin.Text), Convert.ToDouble(this.textBoxCharacteristicCurvesThermoelementXmax.Text));
//method to scale y axis
}
else
//if the textbox is not highlighted
this.textBoxXaxisMin.BackColor = Color.Orange;
//calls the Max Function to update the chart if the Max-value is now valid
double y;
//checks if the input is a double and greater than the min value
if (Double.TryParse(this.textBoxXaxisMax.Text, out y) && y > chart1.ChartAreas[0].AxisX.Minimum)
{
this.textBoxXaxisMax.BackColor = Color.White;
chart1.ChartAreas[0].AxisX.Maximum = Convert.ToDouble(this.textBoxXaxisMax.Text);
//method to scale y axis
}
else
//if the textbox is not highlighted
this.textBoxXaxisMax.BackColor = Color.Orange;
}
Maintenant, je voudrais avoir de l'axe des Y de mis à l'échelle automatiquement. Y-min doit être calulated que la valeur min de toutes les séries dans la section de (X-min et X-max) et le Y-max-le maximum de toutes les séries de la section sélectionnée. Mon problème est la mise en œuvre.
Dans cet exemple, Y-min doit être changé à environ 50.
J'ai accueilli le trou exampleproject ici à GitHup.
Alors, quel problème rencontrez-vous? "Moi, le problème se situe sur la mise en œuvre" ne nous donne pas beaucoup d'aller sur.
comment faire pour trouver par exemple la Y-valeur minimale de toutes les séries dans le paragraphe donné.
comment faire pour trouver par exemple la Y-valeur minimale de toutes les séries dans le paragraphe donné.
OriginalL'auteur kimliv | 2014-06-01
Vous devez vous connecter pour publier un commentaire.
Ce à l'échelle de l'Axe Y pour les valeurs Minimales et Maximales entre le Minimum et le Maximum des valeurs[0] de l'Axe des X pour toutes les séries de 0 à 1:
Edit: lors du test j'ai remarqué que la réinitialisation du Min&Max) n'est pas tout à fait évident. Voici comment:
OriginalL'auteur TaW
L'axe minimum est automatiquement définie à 0, il suffit d'utiliser la IsStartesFromZero propriété:
OriginalL'auteur idanp
Le code que j'ai utilisé pour mon projet: (@TaW réponse)
Cette méthode est appelée dans la question de code ci-dessus avec:
n'oubliez pas d'inclure:
À bien y penser j'ai encore l'idée, mais souhaitez mettre un mot de warning: La façon d'ajouter un peu de la plage entièrement dépend de la réalité des chiffres. Pour de grands nombres entiers, il fonctionne très bien, mais mon cas de test a l'aide d'un
sin
etcosine
de la parcelle et aurait besoin des chiffres très différents ou d'une tout autre formule pour réaliser la tâche de l'expansion de la gamme de valeur d'un "bit".Ok, dans mon cas ça fonctionne
OriginalL'auteur kimliv