La création de plusieurs graphiques et de la relation entre le Graphique, la Série, ChartArea
J'ai été générer des graphiques à l'aide de MSChart pour un certain temps maintenant, mais je n'ai jamais créé plusieurs tableaux dans un délai d'un objet graphique. En pensant à cette tâche a révélé une lacune dans mes connaissances.
La façon dont je pense à la création d'un graphique
- Créer un objet Graphique
- Ajouter ChartArea d'objet à objet Graphique
- Créer des Séries et ajouter des données
- Ajouter des Séries de Graphique
La structure de l'objet finit par ressembler à ce
Chart
/ \
ChartArea Series
Autant que j'ai été préoccupé par le passé, ChartArea est tout simplement le domaine que je créer les labels et ce genre de chose. Pour ajouter une autre, je serai désireux d'ajouter un autre ChartArea et une ou plusieurs séries.
___________________ Chart ___________________
/ / \ \
ChartArea0 ChartArea1 Series0 Series1
Comment puis-je associer Series0 à ChartArea0? Il serait judicieux d'y ajouter une Série à un ChartArea, mais ce n'est pas possible. Pour quelle raison est-il avantageux d'associer une Série avec un Graphique, plutôt que d'un ChartArea?
Vous devez vous connecter pour publier un commentaire.
De la série sont associés à des zones de graphique comme
D'un Graphique peut être divisé en plusieurs Zones où une zone peut être un graphique à barres peuvent être un camembert.
System.Windows.Forms.DataVisualization.Charting.Chart chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart();
System.Windows.Forms.DataVisualization.Charting.ChartArea chartarea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
System.Windows.Forms.DataVisualization.Charting.ChartArea chartarea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
chart1.ChartAreas.Clear();
chart1.ChartAreas.Add(chartarea1);
chart1.ChartAreas.Add(chartarea2);
Puis vous créez certaines séries, chaque série sera associé à une zone de graphique. si vous créez série 5 et de les associer série1, series2 et series3 à chartarea1 puis ceux de la série doivent être identiques ou compatibles type de graphique. sinon, une erreur d'Exécution se produire. Plusieurs séries Dans la même Zone de Graphique peut avoir différentes de l'axe x du composant dans certains cas. par exemple, dans le code suivant: série1 a 3 points de données et series2 a 5, dans ce cas chartarea montrera trois premières valeurs de x à partir de série1 et les deux valeurs de x à partir de series2.
chart1.Series.Clear();
chart1.Series.Add("Series1");
chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Column;
chart1.Series[0].ChartArea = chart1.ChartAreas[0].Name;
Réponse précédente pauses largeur de la carte, de cet exemple utilise elementposition objets, plus précisément définie à 100% (tous les n ° sont %()
Cet exemple: "Deux Zones de Graphique, verticalement divisée 80/20":