Winform图表标签位置错误

问题描述 投票:0回答:1

enter image description here

见图。 12,845.63英镑是第一列标签。我尝试在空白,新鲜的图表上运行下面的代码,所有默认设置(白色背景)也做同样的事情。

我正在填充这样的图表:

        private void InitializeData()
    {
        chart1.Series.Clear();
        double i = 0;
        double spacing = 0.1;
        foreach (DataRow rows in DailyBarChartT.Rows)
        {
            Series series = chart1.Series.Add(rows[0].ToString());
            series.Points.AddXY(i, rows[1]);
            series.IsValueShownAsLabel = true;
            series.LabelFormat = "C";
            series.LabelForeColor = Color.White;

            i = i + spacing;
        }
        chart1.Update();
    }

我猜这个号码不适合蓝色吧?我怎么能解决这个问题?我已经尝试将标签边距设置为0以及其他一些东西。

编辑:enter image description here

将我的“间距”变量设置为0,将标签设置为正确的位置。如何在间距正确的位置使用它?

forms winforms charts label bar-chart
1个回答
0
投票

您为每个值创建一个新系列,这不是您应该如何做到的。如果为所有值创建一个系列,则间距可以正常工作。

快速示例代码(适用于默认图表):

        string[] values =
        {
            "12845.63", "1174.89",
            "344.04", "180.83",
            "82.50", "55.00" 
        };

        chart1.ChartAreas[0].BackColor = Color.Black;
        chart1.Series.Clear();
        Series series = new Series();
        series.IsValueShownAsLabel = true;
        series.LabelFormat = "C";
        series.LabelForeColor = Color.White;

        foreach (var value in values)
        {
            var pointIndex = series.Points.AddY(value);
            series.Points[pointIndex].AxisLabel = "Custom label for each value here";
        }

        chart1.Series.Add(series);
© www.soinside.com 2019 - 2024. All rights reserved.