Navas8
Messages postés19Date d'inscriptionmercredi 6 mai 2015StatutMembreDernière intervention15 juin 2015
-
13 mai 2015 à 15:40
Navas8
Messages postés19Date d'inscriptionmercredi 6 mai 2015StatutMembreDernière intervention15 juin 2015
-
18 mai 2015 à 12:25
Bonjour,
Avec Chart j'ai 5 graphiques (dans chaque graphique j'ai 3 courbes avec des abscisses HH:MM), j'aimerai pouvoir zoomer et avoir un sroll bar sur un des graphiques par l'appui d'un bouton zoom.
J'ai du mal à gérer ce qui doit etre dans ce bouton. Mon programme est ci dessous. Merci d'avance
public partial class Form1 : Form { private List<Recette> recettes = new List<Recette>();
Whismeril
Messages postés18610Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023629 13 mai 2015 à 15:51
Bonjour
pour un chart quelquonque
cht.ChartAreas[0].AxisY.StripLines.Clear();
Axis axeY = cht.ChartAreas[0].AxisY;
axeY.IntervalAutoMode = IntervalAutoMode.FixedCount;
axeY.Interval = 1;//espace entre les valeurs affichées sur l'échelle
axeY.ScaleView.Zoom(2, 10);//zoom l'axe Y entre deux et 10
Et si un sujet est résolu, merci de le marquer en utilisant le lien dédié sous le titre de la discussion, et dire merci aussi.
C'est valable pour tes précédentes interventions
Whismeril
Messages postés18610Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023629 13 mai 2015 à 16:05
Je voie que tu as adapté ma proposition de class à ta sauce.
Le truc en mettant directement le resultat sous forme de série est qu'il est compliqué ensuite de chercher un min ou un max.
A moins que tu n'en aies plus besoin.
Par contre, je persiste à penser que la lecture du fichier n'a rien à faire dans le formulaire. Le job d'un formulaire c'est l'interarction entre l'utilisateur et les classes métiers.
La lecture du fichier, serait plus a sa place dans la classe recette, dans le constructeur, ou une méthode dédiée.
D'autre part, je t'ai montré comment lire tes données avec une Regex.
En voyant le code complet, je te le repropose, une régex extrait tout l'entête et une autre toutes les données.
Mais il n y a toujours pas de barre en X c'est à dire une barre qui me permet de circuler sur l'axe des X
Whismeril
Messages postés18610Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023629 13 mai 2015 à 19:55
Axis axeX = chart1.ChartAreas[0].AxisX;
axeX.IntervalAutoMode = IntervalAutoMode.FixedCount;
axeX.ScaleView.Zoom(2, 4,DateTimeIntervalType.Seconds);//zoom l'axe Y entre deux et 10
axeX.ScaleView.SmallScrollMinSize = .01;
axeX.ScaleView.SmallScrollMinSizeType = DateTimeIntervalType.Minutes;
axeX.ScaleView.SmallScrollSizeType = DateTimeIntervalType.Minutes;
Avec ce code, j'ai l'ascenceur
Navas8
>
Whismeril
Messages postés18610Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023 Modifié par Whismeril le 18/05/2015 à 09:38
Merci,
Voila le code au cas ou
{
// Pour l'axe des Y
courbe.ChartAreas[0].AxisY.StripLines.Clear();
Axis axeY = courbe.ChartAreas[3].AxisY;
axeY.IntervalAutoMode = IntervalAutoMode.FixedCount;
axeY.Interval = 1;//espace entre les valeurs affichées sur l'échelle
axeY.ScaleView.Zoom(1, 5);//zoom l'axe Y entre deux et 10
////Pour l'axe des X
Axis axeX = courbe.ChartAreas[3].AxisX;
axeX.IntervalAutoMode = IntervalAutoMode.FixedCount;
axeX.ScaleView.Zoom(1, 4, DateTimeIntervalType.Seconds);//zoom l'axe Y entre deux et 10
axeX.ScaleView.SmallScrollMinSize = .01;
axeX.ScaleView.SmallScrollMinSizeType = DateTimeIntervalType.Seconds;
axeX.ScaleView.SmallScrollSizeType = DateTimeIntervalType.Seconds;
}
Navas8
>
Whismeril
Messages postés18610Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023 Modifié par Navas8 le 18/05/2015 à 10:31
lolll,
Mais y aurai moyen de pouvoir sélectionner un des 5 GRAPHIQUES ( sachant que l'objectif est de l'imprimer par la suite)
T'aurais une idée de comment je pourrais le faire avec un exemple de code si possible. Merci d'avance
Whismeril
Messages postés18610Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention25 septembre 2023629
>
Navas8
18 mai 2015 à 09:42
C'est sympa de remettre les codes que je t'ai donnés...
Si ton problème est résolu, merci de marquer le sujet comme tel, avec le lien "Marquer Comme Résolu" sous le titre de la discussion, si tu ne le voies pas, connecte toi.
Je viens de voir ton deuxième message, évidemment ta raison, je refaire cette partie, essayé d'utiliser regex qui me parait mieux.
Pour l'axe des Y c'est bon, mais pour l'axes des X, j'ai un problème.
C'est a dire qu'il était sous la forme HH:mm:ss et après zoom sur l'axes des X, il n y a plus de coordonnées en X
Modifié par Whismeril le 13/05/2015 à 16:06
C'est valable pour tes précédentes interventions
13 mai 2015 à 16:05
Le truc en mettant directement le resultat sous forme de série est qu'il est compliqué ensuite de chercher un min ou un max.
A moins que tu n'en aies plus besoin.
Par contre, je persiste à penser que la lecture du fichier n'a rien à faire dans le formulaire. Le job d'un formulaire c'est l'interarction entre l'utilisateur et les classes métiers.
La lecture du fichier, serait plus a sa place dans la classe recette, dans le constructeur, ou une méthode dédiée.
D'autre part, je t'ai montré comment lire tes données avec une Regex.
En voyant le code complet, je te le repropose, une régex extrait tout l'entête et une autre toutes les données.
moins de lignes de codes => moins de maintenance.