图形段(Graph segments)及其中的Y轴位置
如果定义有数个Y轴,它们可以以三种不同的方式垂直排列: Layered(层叠式)、Stacked(叠置式) 和 Segmented(分段式)。通过ViewXY.AxisLayout.YAxesLayout属性可以对其进行选择。
层叠式(Layered)
演示实例:Y轴布局(Y axis layouts);自动布置轴(Automatic axis placements)
在Layered 视图模式中,所有的Y轴都是从图的顶部开始,延伸到图的底部。Y轴和与其关联的系列在同一个垂直空间里。
[C#] 纯文本查看 复制代码 chart.ViewXY.AxisLayout.YAxesLayout = YAxesLayout.Layered;
4 个Y轴设定为YAxesLayout = Layered 时的示例视图
叠置式(Stacked )
演示实例:Y轴布局(Y axis layouts);多信道光标追踪(Multi-channel cursor tracking);系列中数据中断(Data breaking in series)
在Stacked 视图中,每条Y轴都有自己的垂直空间。所有Y轴都等高。
[C#] 纯文本查看 复制代码 chart.ViewXY.AxisLayout.YAxesLayout = YAxesLayout.Stacked;
4 条Y轴在设置为 YAxesLayout = Stacked时的示例视图
分段式(Segmented)
演示示例:Y轴布局(Y axis layouts);多图例情况(Multiple legends);分割器分段(Segments with splitters)
在Segmented 视图中,垂直空间分割成了数个段(Segments)。每个段都可以包含数个Y轴。每个段的相对高度可以设置,同时,一个段内的所有Y轴都具有与该段一样的高度。
[C#] 纯文本查看 复制代码 chart.ViewXY.AxisLayout.YAxesLayout = YAxesLayout.Segmented;
Segments 必须在 AxisLayout.Segments 集合中创建。首先添加的段要置于图表的底部。一个段只有一个属性,即Height;它是一个相对于其他段的相对高度。因为段的比例需要随着图表的尺寸来调整,所以段的高度不是以屏幕像素来规定的。
[C#] 纯文本查看 复制代码 // 添加2个段,第二个段的高度是第一个段的2倍
chart.ViewXY.AxisLayout.Segments.Add(new YAxisSegment());
chart.ViewXY.AxisLayout.Segments.Add(new YAxisSegment());
chart.ViewXY.AxisLayout.Segments[0].Height = 1;
chart.ViewXY.AxisLayout.Segments[0].Height = 2;
通过设置yAxis.SegmentIndex属性可以为Y轴分配一个段。SegmentIndex 则为AxisLayout.Segments 集合中的索引。
[C#] 纯文本查看 复制代码 chart.ViewXY.YAxes[0].SegmentIndex = 0;
chart.ViewXY.YAxes[1].SegmentIndex = 1;
4个 Y轴在设置为YAxesLayout = Segmented时的示例视图。前两个段的高度设置为 Height = 1,最后一个段的高度为2.5。 Axis1.SegmentIndex = 0, Axis2.SegmentIndex = 1, Axis3 与 Axis4.SegmentIndex = 3.
当选择Stacked或Segmented视图后,利用ViewXY.AxisLayout.SegmentsGap属性可以调整各图形段之间的垂直距离。
[C#] 纯文本查看 复制代码 chart.ViewXY.AxisLayout.SegmentsGap = 10; // 每个段之间设置10像素间距
如果定义了许多的Y轴,应启用AutoShrinkSegmentsGap 属性来自动缩减间距。这样,在绘制每条Y轴时至少都会有一些垂直距离。
[C#] 纯文本查看 复制代码 chart.ViewXY.AxisLayout.AutoShrinkSegmentsGap = false;
如果需要实现段特定的用户界面逻辑,使用ViewXY.GetGraphSegmentInfo()–method能找到图形段的边界。
[C#] 纯文本查看 复制代码 // 获取每个段的顶部与底部坐标[/align]
[align=left]float[] topCoords = chart.ViewXY.GetGraphSegmentInfo().SegmentTops;[/align]
[align=left]float[] bottomCoords = chart.ViewXY.GetGraphSegmentInfo().SegmentBottoms;
遇到使用问题,关注Arction公众号可以跟官方技术支持在线聊天解决,技术支持这一块儿Lightningchart做的还是不错的。
微信公众号
|