MS Chart绘制条形图

时间:2014-03-25 15:22:41

标签: c# .net winforms bar-chart mschart

我需要绘制直方图,具有最小值和最大值的列应该具有与其他列不同且具有不同宽度的其他颜色! 现在我已经分两套了,但这是错误的结果。

以下是我的代码:

chart1.Series[0].Color = Color.Blue;
int y;
for (y = 0; y < lbls.Length; y++)
{
 chart1.Series[0].Points.AddY(costs[y]);
 chart1.ChartAreas[0].AxisX.CustomLabels.Add(new CustomLabel(y, y + 2, lbls[y], 0, LabelMarkStyle.LineSideMark));
}

 chart1.Series[1].Color = Color.Red;
 chart1.Series[1].Points.AddY(1500);
 chart1.ChartAreas[1].AxisX.CustomLabels.Add(new CustomLabel(y+4, y + 6, "lol", 0, LabelMarkStyle.LineSideMark));

它给我: a busy cat

1 个答案:

答案 0 :(得分:0)

不太确定如何更改特定的列宽,但更改特定的i点颜色,请执行以下操作。

'Loop through series to find min and max and then color label
Chart1.Series[0].Points[i].Color = Color.Red

<强> P.S。

我不确定你是否可以只更改一列宽度。我有时使用Chart1.Series[0]("PixelPointWidth") = some integer来更改列系列的宽度,但是看看msdn页面,它似乎只能应用于系列而不是单独的数据点。

PixelPointWidth @ MSDN

您可以创建一个新系列并将其添加到仅包含最大值和最小值的图表区域,然后执行Chart1.Series[1]("PixelPointWidth") = some integer以使它们比第一个系列更宽