是否有一个WinForms折线图控件,可以单独着色段?

时间:2011-03-18 02:39:49

标签: c# winforms charts

我需要一个Windows窗体的折线图控件,允许我为每个段指定颜色。例如,类似于下面显示的股票图表。

滚动我自己的问题是,如果我单独绘制每个段,我不会得到LineJoins的好处,例如Mitre,Round或Bevel。如果我使用Graphics.DrawLines来获得好的连接,我无法单独控制分段颜色。

是否有解决方法,或更好的商用图表控件具有这种灵活性?

line chart

2 个答案:

答案 0 :(得分:0)

您是否查看了Visual Studio 2010中内置的图表控件?它非常强大(从Dundas购买的技术)

如果您使用“空点”平均功能

,我知道系列看起来与您所包含的图像类似

答案 1 :(得分:0)

常规MSChart控件会执行此操作,前提是您为每个DataPoint分配Color ..:

enter image description here

Series ser2 = chart1.Series.Add("line");
ser2.ChartType = SeriesChartType.Line;

Random r = new Random(8);
ser2.Points.AddXY(0, 10);
for (int i = 1; i < 60; i++ )
{
    int v = 10 + r.Next(10);
    int p = ser2.Points.AddXY(i, v);
    ser2.Points[p].Color =
        ser2.Points[p - 1].YValues[0] < ser2.Points[p].YValues[0] ?
        Color.Black : Color.Red;

}