Ich versuche, ein Balkendiagramm mit Achsenbeschriftungen zu erstellen, die links ausgerichtet sind und einen bestimmten Abstand zum Diagramm haben. Es scheint weder eine Ausrichtungsfunktion für Achsenbeschriftungen zu geben, noch ist es möglich, ein Padding einzufügen. Die Auffüllung wird ignoriert. Was könnte eine Lösung für sie sein:Linke Ausrichtung von Balkendiagramm-Achsenbeschriftungen
private void button1_Click(object sender, EventArgs e)
{
Chart chart1 = new Chart();
chart1.Size = new Size(600, 200);
Title mainTitle = new Title("BarChartX");
mainTitle.Alignment = ContentAlignment.TopLeft;
mainTitle.Font = new System.Drawing.Font("Arial", 11, FontStyle.Bold);
chart1.Titles.Add(mainTitle);
chart1.ChartAreas.Add(new ChartArea());
chart1.ChartAreas[0].AxisX.LabelStyle.Font = new System.Drawing.Font("Arial", 10, System.Drawing.FontStyle.Regular);
chart1.Series.Add("MySeries1").ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar;
chart1.Series["MySeries1"].IsVisibleInLegend = false;
chart1.Series["MySeries1"].Color = Color.Red;
chart1.Series["MySeries1"].Points.AddXY(1, 1);
chart1.Series["MySeries1"]["PixelPointWidth"] = "30";
chart1.Series.Add("MySeries2").ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Bar;
chart1.Series["MySeries2"].IsVisibleInLegend = false;
chart1.Series["MySeries2"].Color = Color.Red;
chart1.Series["MySeries2"].Points.AddXY(2, 2);
chart1.Series["MySeries2"]["PixelPointWidth"] = "30";
chart1.ChartAreas[0].AxisX.MajorGrid.LineWidth = 0;
chart1.ChartAreas[0].AxisX.Interval = 1;
chart1.ChartAreas[0].AxisY.Interval = 2;
chart1.ChartAreas[0].AxisX.Maximum = 3;
chart1.ChartAreas[0].AxisY.Maximum = 6;
Font stringFont = new System.Drawing.Font("Arial", 10, FontStyle.Regular); /// !!!!!!!!!!!!
string Label1 = "AxisLabel1".PadRight(12);
chart1.ChartAreas[0].AxisX.CustomLabels.Add(0.5, 1.5, Label1);
string Label2 = "AxisLabel2";
chart1.ChartAreas[0].AxisX.CustomLabels.Add(1.5, 2.5, Label2);
flowLayoutPanel1.Controls.Add(chart1);
}[enter image description here][1]
Danke für die Anregung löschen! Ich konnte es nicht wirklich funktionieren lassen: >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>> char space = (char) 0xa0; chart1.ChartAreas [0] .AxisX.LabelStyle.Font = stringFont; Zeichenfolge title1 = "AxisLabel1"; chart1.ChartAreas [0] .AxisX.CustomLabels.Add (0.25, 0.75, title1.PadRight (12, Leerzeichen)); >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>> Es ignoriert immer noch den Raum. Gibt es irgendeine Einstellung, die ich außer der Schriftart ändern muss? –
Keine andere Einstellung glaube ich .. - Welche Schriftart verwenden Sie? Sie sollten im Windows-Zeichentabelle-Tool testen, ob Ihre Schriftart tatsächlich dieses spezielle Leerzeichen enthält! C Consolas funktioniert, wie Sie sehen können. – TaW
Es funktionierte mit 0x7F, das war die richtige Richtung, vielen Dank! –