是否可以创建zedgraph垂直标记?

时间:2012-06-26 12:56:33

标签: c# charts zedgraph

我想知道,是否可以在 zedgraph 中创建垂直标记? 我想渲染所有图表点并将垂直标记作为当前位置的指示符。

2 个答案:

答案 0 :(得分:4)

在之前的项目中,我使用以下代码来获得这种效果。

int i = myPane.AddYAxis("");
myPane.YAxisList[i].Color = Color.Orange;
myPane.YAxisList[i].Scale.IsVisible = false;
myPane.YAxisList[i].MajorTic.IsAllTics = false;
myPane.YAxisList[i].MinorTic.IsAllTics = false;
myPane.YAxisList[i].Cross = pointOnXAxisThatIWantToMark;

在这种情况下,我添加了两个轴来标记我的图表上的某些限制。

enter image description here

答案 1 :(得分:0)

您可以将曲线的SymbolType设置为SymbolType.VDash

例如,要设置LineItem的符号,您可以直接在构造函数中执行此操作(在下面的源代码中为curve1),也可以在将其分配给曲线(curve2)。

此代码:

var curve1 = new LineItem(null, new[] { 0.1, 0.5, 0.9 }, 
             new[] { 0.8, 0.3, 0.1 }, Color.Blue, SymbolType.VDash);
zedGraphControl1.GraphPane.CurveList.Add(curve1);

var curve2 = new LineItem(String.Empty)
    {
        Points = new PointPairList(
                 new[] { 0.1, 0.5, 0.9 }, new[] { 0.2, 0.5, 0.9 }),
        Color = Color.Red,
        Symbol = new Symbol(SymbolType.VDash, Color.Black) 
                 { Size = 20f, Border = new Border(Color.Black, 6f)}
    };
zedGraphControl1.GraphPane.CurveList.Add(curve2);

生成以下图表:

Non-customized and customized markers