我有一个 ZedGraphControl,里面有几条曲线,我想在一些固定的 x 位置添加垂直线。当然,这些线只能位于实际图形区域内。
我尝试以下
LineObj line = new LineObj(Color.Black, xPos, myPane.YAxis.Scale.Min, xPos, myPane.YAxis.Scale.Max);
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash;
line.Line.Width = 1f;
myPane.GraphObjList.Add(line);
这工作正常,直到用户缩放图表,垂直线将延伸出实际的图表区域(参见下面的图片链接,另请注意,它没有在图表内虚线,奇怪)。
http://imageshack.us/photo/my-images/196/zedgraphzoom.png/ http://imageshack.us/photo/my-images/196/zedgraphzoom.png/
有没有办法解决这个问题(如果有办法获取当前缩放的 myPane.Xaxis.Scale.Min 和 Max,然后更新 ZoomEvent 中的图形?)或者是否有更好的类/方法来使用其他比 LineObj 用于此目的?
而不是定义一个LineObj
,定义一个LineItem
并将其添加到GraphPane.CurveList
:
LineItem line = new LineItem(String.Empty, new[] { xPos, xPos },
new[] { myPane.YAxis.Scale.Min, myPane.YAxis.Scale.Max },
Color.Black, SymbolType.None);
line.Line.Style = System.Drawing.Drawing2D.DashStyle.Dash;
line.Line.Width = 1f;
myPane.CurveList.Add(line);
这绑定了line
到图形窗格中的坐标系,以便在缩放或平移时line
位置仍将被限制在图中。当然,如果你缩小而不更新y
的值line
, the line
端点将位于图表内部。
根据我的个人经验,我知道在 Zedgraph 中冲刺可能是一个问题;然而,添加时似乎可以正确显示破折号LineItem
, 尽管。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)