web-dev-qa-db-fra.com

Tableau C # rotation des étiquettes

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:

img

J'utilise les éléments graphiques de System.Web.UI.DataVisualization.Charting.

19
Xodarap

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
28

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

enter image description here

La propriété/ligne clé à regarder ci-dessus est le "LabelAutoFitStyle".

17
Zachary

J'avais besoin de ces lignes pour que cela fonctionne:

chartarea.AxisX.LabelStyle.Angle = -90;
chartarea.AxisX.IntervalAutoMode = IntervalAutoMode.VariableCount;
chartarea.AxisX.IsLabelAutoFit = false;
1
Sean