SciChart实时缩放,最小轴范围

时间:2016-04-07 16:07:41

标签: c# wpf scichart

我有一张SciChart图表的FIFO实时图表(几乎取自他们发布的示例)。在渲染时,它开始完全放大非常接近,当绘制线条时,它会缩小以适应线条的整个尺寸。

        <s:SciChartSurface.XAxis>
            <s:NumericAxis x:Name="axisX" MinHeight="50" AutoRange="Always" AxisTitle="{Binding Path=XAxisTitle}" DrawMinorGridLines="False" DrawMinorTicks="False" TextFormatting="0.##">
                <s:NumericAxis.GrowBy>
                    <s:DoubleRange Max="0.1" Min="0.1" />
                </s:NumericAxis.GrowBy>
            </s:NumericAxis>
        </s:SciChartSurface.XAxis>

然而,我想要的是它已经开始缩小了一定量 - 例如X轴已经从(例如)0 - 10显示,并且当绘制线时,它将在屏幕上前进,只有在线条变得比所提供的空间更大时才进行缩放。

我已尝试设置VisibleRangeLimit,但这确实允许我定义图表区域的范围,当曲线变得太大时缩放不会启动(所以它字面意思是&#34;离开图表&#34;)

如何实现这一目标?

1 个答案:

答案 0 :(得分:2)

原因是Fifo Example in sciChart WPF使用XAxis AutoRange set to Always缩放轴以适合数据。当示例启动时,即使Fifo缓冲区的容量为10,000点,它也没有数据,因此轴缩小以容纳数据。

有两种解决方法:

  1. 是用X = xValue预先填充FIFO DataSeries,Y = double.NaN。给定足够的值,图表将认为必须绘制所有这些点,以便XAxis相应地缩放

  2. 自己控制XAxis.VisibleRange(不要使用AutoRange)。在这种情况下,您需要将XAxis.VisibleRange设置为窗口大小以容纳N个点,并在更新数据时更新窗口。

  3. FAQ'How to create a StripChart in SciChart'演示了技术(2),如何更新XAxis的可见范围以实现滚动行为。

    披露,我是SciChart WPF团队的技术负责人