高性能图表控件LightningChart中有关用分段布局重叠图

LightningChart完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。

在我的图表中,我已经使用ViewXY.AxisLayout.YAxesLayout = YAxesLayout.Segmented绘制了5个图,就像在Capture1上一样。

æè·1.PNG

但是,当我尝试将图表调整为较小的尺寸时,似乎所有图和图例都合并为一个分段(请参见Capture2)。

Capture2.PNG

但是当我在YAxesLayout.Stacked中以相同的较小尺寸绘制图表时,细分只是重叠而不会合并

Capture3.PNG

您能否请我允许部分重叠但不能只留一个部分?


回复:用分段布局重叠的图
如果图表发现没有足够的空间来绘制它们,这些分段将自动合并。无法完全禁用此行为。但是,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感兴趣,可以在慧都网免费下载最新试用版,

猜你喜欢

转载自blog.51cto.com/15078157/2673139