C# ZedGraph水平阈值线问题
我遇到了麻烦,在ZedGraph中绘制水平线时,它总是从第一个位置开始,但我想从第0个位置开始。我正在使用以下代码C# ZedGraph水平阈值线问题,c#,asp.net,zedgraph,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的旧版本,这是另一个令人头痛的问题。 请帮我解决这个问题 我发现你不能只在条
double[] x = {100,100,100,100 };
LineItem myCurve = pane.AddCurve( "My Curve",
null,x, Color.Red, SymbolType.Diamond );
我使用的是ZedGraph的旧版本,这是另一个令人头痛的问题。
请帮我解决这个问题
我发现你不能只在条形图上画一条水平线,因为这种情况下的x轴类型不是数字/离散的-它是一个文本值 如果要在条形图上画水平线,必须使用组合图: 这样,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;
在您的情况下,可以使用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);
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);