2

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

4

2 回答 2

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;

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

在此处输入图像描述

于 2012-06-26T13:09:02.237 回答
1

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

例如,要为 a 设置符号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);

生成以下图表:

非定制和定制标记

于 2012-06-27T07:15:45.843 回答