2

我有下面的示例代码,它在 Windows 窗体应用程序中呈现 MSChart,图表如下所示:

在此处输入图像描述

我想添加代码以有条件地将数据点添加到条形图中,这样如果条形太短则不添加数据点,但如果条形足够长,则添加数据点。在我的图表图像中,第一个数据点 (10) 不会显示在图表中,但会显示其余数据点。有人能帮忙吗?

        chart1.ChartAreas.Add(new ChartArea());
        chart1.Series[0].IsValueShownAsLabel = true;

        int[] dataset = { 10, 40, 100, 600, 300 };

        foreach (var i in dataset)
        {
            var series1 = chart1.Series[0];
            series1.ChartType = SeriesChartType.StackedBar;

            var index1 = series1.Points.AddY(i);
        }
4

1 回答 1

2

我发现我能够使用这样的代码有条件地使标签透明:

chart1.ChartAreas.Add(new ChartArea());
chart1.Series[0].IsValueShownAsLabel = true;

int[] dataset = { 10, 40, 100, 600, 300 };
var series1 = chart1.Series[0];

foreach (var i in dataset)
{               
    series1.ChartType = SeriesChartType.StackedBar;
    var index1 = series1.Points.AddY(i);
}

int j = 0;
foreach (var point in series1.Points)
{
    if (dataset[j] > 20)
    {
        point.LabelForeColor = Color.Black;
    }
    else
    {
        point.LabelForeColor = Color.Transparent;
    }
    j++;
}
于 2013-02-05T20:33:44.310 回答