Bonjour,
J'ai une difficulté avec le composant Chart.
J'ai une collection de points avec un type DateTime en X et ma collection a volontairement des jours qui sont absents.
Je précise que j'ai précisé le type "DateTime" dans le control pour l'axe des X car c'est pratique pour d'autres aspects.
Par exemple, ma collection contient 4 points à afficher avec un "trou" au milieu (j'ai supprimé 2 éléments de la collection) :
(...)
series1.Points.AddXY(new DateTime(2003, 1, 3), 55);
series1.Points.AddXY(new DateTime(2003, 1, 4), 34);
//series1.Points.AddXY(new DateTime(2003, 1, 5), 32);
//series1.Points.AddXY(new DateTime(2003, 1, 6), 28);
series1.Points.AddXY(new DateTime(2003, 1, 7), 28);
series1.Points.AddXY(new DateTime(2003, 1, 8), 28);
(...)
Le control Chart affiche toujours les 6 valeurs en X (vide en Y) alors que je voudrais qu'il affiche exactement le contenu de ma collection, c'est à dire 4 valeurs accolées donc sans avoir un vide au milieu et que le 07/01/2003 arrive juste après le 04/01/2003.
En d'autres termes, le control Chart m'impose le calendrier pour l'axe des X, alors que je voudrais qu'il prenne ma collection.
Est-ce que c'est possible et quel est le paramètre du control Chart pour cela svp ?
Si besoin, voici le code pour faire des essais et une image :
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 private void Form1_Load(object sender, EventArgs e) { // Create Chart Area ChartArea chartArea1 = new ChartArea(); // Add Chart Area to the Chart chart1.ChartAreas.Add(chartArea1); // Instanciation series avec Name Series series1 = new Series("Myserie"); // Ajouter des points dans la series series1.XValueType = ChartValueType.DateTime; series1.Points.AddXY(new DateTime(2003, 1, 1), 34); series1.Points.AddXY(new DateTime(2003, 1, 2), 24); series1.Points.AddXY(new DateTime(2003, 1, 3), 55); series1.Points.AddXY(new DateTime(2003, 1, 4), 34); //series1.Points.AddXY(new DateTime(2003, 1, 5), 32); //series1.Points.AddXY(new DateTime(2003, 1, 6), 28); series1.Points.AddXY(new DateTime(2003, 1, 7), 28); series1.Points.AddXY(new DateTime(2003, 1, 8), 28); series1.Points.AddXY(new DateTime(2003, 1, 9), 28); series1.Points.AddXY(new DateTime(2003, 1, 10), 28); series1.Points.AddXY(new DateTime(2003, 1, 11), 28); series1.Points.AddXY(new DateTime(2003, 1, 12), 28); // Ajouter la series au chart chart1.Series.Add(series1); // Style colomn chart1.Series[0].ChartType = SeriesChartType.Column; }
Merci pour votre aide
Partager