ZedGraph水平阈值线问题

时间:2012-03-29 15:43:08

标签: c# asp.net zedgraph

我遇到了麻烦,在ZedGraph中绘制一条水平线时,它总是从第一个位置开始,但我想从第0个位置开始。我正在使用以下代码

double[] x = {100,100,100,100 };    
LineItem myCurve = pane.AddCurve( "My Curve",
                null,x, Color.Red, SymbolType.Diamond );

我正在使用旧版ZedGraph,这是另一个令人头痛的问题。 请帮我解决这个问题。

enter image description here

3 个答案:

答案 0 :(得分:1)

 double threshHoldY = 2;
    LineObj threshHoldLine = new LineObj(
        Color.Red,
        graphPane.XAxis.Scale.Min,
        threshHoldY,
        graphPane.XAxis.Scale.Max,
        threshHoldY);
    graphPane.GraphObjList.Add(threshHoldLine);

答案 1 :(得分:1)

在您的情况下,您可以使用LineObj。

LineObj line = new LineObj(Color.Red, 
                   myPane.XAxis.Scale.Min, 100, myPane.XAxis.Scale.Max, 100);
line.Location.CoordinateFrame = CoordType.AxisXYScale;   
line.Location.AlignH = AlignH.Left;
line.Location.AlignV = AlignV.Top;   
line.ZOrder = ZOrder.E_BehindAxis;
myPane.GraphObjList.Add(line);

答案 2 :(得分:0)

我发现你不能在条形图上放一条水平线,因为这种情况下的x轴类型不是数字/离散 - 它是一个文本值。

如果要在条形图上放置水平线,则必须使用组合图表:http://zedgraph.dariowiz.com/indexd6f1.html?title=Combo_Chart_Demo

这样,x轴是数字的,因此您可以创建所需的任何线条和条形图。

以下是这样一行的示例代码:

        double[] x5 = { 0, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1200 };
        double[] y5 = { 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70 };

        // Generate a black line with "Curve 4" in the legend
        LineItem myCurve = myPane.AddCurve("Curve 4",
        x5, y5, Color.Black, SymbolType.None);
        myCurve.Line.Width = 3.0F;