我有下面的示例代码,它在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);
}
答案 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++;
}