如何有条件地将数据点添加到使用MSChart呈现的图表中

时间:2013-02-05 17:34:34

标签: c# mschart

我有下面的示例代码,它在Windows窗体应用程序中呈现一个MSChart,这是图表的样子:

enter image description here

我想添加代码以有条件地将数据点添加到条形图中,这样如果条形图太短,则不会添加数据点,但如果条形图足够长,则添加数据点。在我的图表的图像中,第一个数据点(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);
        }

1 个答案:

答案 0 :(得分: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++;
}