高性能图表控件LightningChart中有关用分段布局重叠图
作者:互联网
LightningChart完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。
在我的图表中,我已经使用ViewXY.AxisLayout.YAxesLayout = YAxesLayout.Segmented绘制了5个图,就像在Capture1上一样。
但是,当我尝试将图表调整为较小的尺寸时,似乎所有图和图例都合并为一个分段(请参见Capture2)。
但是当我在YAxesLayout.Stacked中以相同的较小尺寸绘制图表时,细分只是重叠而不会合并您能否请我允许部分重叠但不能只留一个部分?
回复:用分段布局重叠的图
如果图表发现没有足够的空间来绘制它们,这些分段将自动合并。无法完全禁用此行为。但是,AxisLayout中有几个属性,您可以尝试控制线段和属于它们的任何Y轴。
_chart.ViewXY.AxisLayout.AutoShrinkSegmentsGap = true; _chart.ViewXY.AxisLayout.AutoAdjustMargins = false; _chart.ViewXY.AxisLayout.AutoAdjustAxisGap = 10; _chart.ViewXY.AxisLayout.SegmentsGap = 1; _chart.ViewXY.AxisLayout.YAxisTitleAutoPlacement = false; _chart.ViewXY.AxisLayout.YAxisAutoPlacement = YAxisAutoPlacement.Off;
在这些SegmentsGap中,似乎对这个问题的影响最大。使用SegmentsGap值为0或1时,几乎没有合并发生。这种情况下的问题是,即使图表尺寸较大,轴值标签(-2和2)也会相互重叠。因此,例如,通过事件动态更改SegmentsGap可能是一个好主意。
_chart.SizeChanged += _chart_SizeChanged; private void _chart_SizeChanged(object sender, SizeChangedEventArgs e) { if (_chart.ViewXY.AxisLayout.SegmentsGap == 10 && e.NewSize.Height < 200) { _chart.ViewXY.AxisLayout.SegmentsGap = 1; } else if (_chart.ViewXY.AxisLayout.SegmentsGap == 1 && e.NewSize.Height > 200) { _chart.ViewXY.AxisLayout.SegmentsGap = 10; } }
在上面的示例中,每当图表的高度超过或低于200时,都将修改SegmentsGap。
本文章转载自【慧都科技】evget欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,尊重他人劳动成果
如果您对LightningChart感兴趣,可以在慧都网免费下载最新试用版,
标签:控件,ViewXY,分段,chart,图表,AxisLayout,LightningChart,SegmentsGap 来源: https://blog.51cto.com/15078157/2673139