J'ai un tableau simple et je voudrais que les étiquettes sur l'axe des abscisses soient tournées de 45 degrés. Qu'est-ce que je fais mal?
Chart c = new Chart();
c.ChartAreas.Add(new ChartArea());
c.Width = 200;
c.Height = 200;
Series mySeries = new Series();
mySeries.Points.DataBindXY(new string[] { "one", "two", "three" }, new int[] { 1, 2, 3 });
mySeries.LabelAngle = 45; // why doesn't this work?
c.Series.Add(mySeries);
La sortie est:
J'utilise les éléments graphiques de System.Web.UI.DataVisualization.Charting.
La documentation indique que Series.LabelAngle définit l'angle de libellé du point de données, qui (je pense) est un libellé situé au-dessus de la colonne du graphique.
Pour définir l’angle des étiquettes d’axe, essayez celui-ci:
var c = Chart1;
c.ChartAreas.Add(new ChartArea());
c.Width = 200;
c.Height = 200;
Series mySeries = new Series();
mySeries.Points.DataBindXY(new string[] { "one", "two", "three" }, new int[] { 1, 2, 3 });
//mySeries.LabelAngle = -45; // why doesn't this work?
c.Series.Add(mySeries);
c.ChartAreas[0].AxisX.LabelStyle.Angle = 45; // this works
Voici comment je tourne habituellement mes étiquettes X Axis.
ChartArea area = new ChartArea();
area.AxisX.IsLabelAutoFit = true;
area.AxisX.LabelAutoFitStyle = LabelAutoFitStyles.LabelsAngleStep30;
area.AxisX.LabelStyle.Enabled = true;
Résultats
La propriété/ligne clé à regarder ci-dessus est le "LabelAutoFitStyle".
J'avais besoin de ces lignes pour que cela fonctionne:
chartarea.AxisX.LabelStyle.Angle = -90;
chartarea.AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;
chartarea.AxisX.IsLabelAutoFit = false;