2

我的图表运行良好,它按原样绘制了我需要的 11 个点。但是,一旦情节出现,我就对前 3 点特别感兴趣。我想知道是否有办法让图表自动放大到绘制的前 3 个点,而不是在过程完成后获得图表的全比例视图。这是xml:

<SciChart:SciChartSurface x:Name="sciChart" 
                                              Grid.Row="6"
                                              SciChart:RenderSurfaceBase.RenderSurfaceType="Abt.Controls.SciChart.Rendering.HighQualityRasterizer.HighQualityRenderSurface" 
                                              SciChart:ThemeManager.Theme="BlackSteel" 
                                              Margin="-23,-2,-8,-18" Grid.ColumnSpan="6" Loaded="sciChart_Loaded">

                <!--  Declare RenderableSeries  -->
                <SciChart:SciChartSurface.RenderableSeries>
                    <SciChart:FastLineRenderableSeries SeriesColor="LightBlue" StrokeThickness="2">
                        <SciChart:FastLineRenderableSeries.PointMarker>
                            <SciChart:EllipsePointMarker Width="9" Height="9" Stroke="LightBlue" Fill="#990077FF" StrokeThickness="2"/>
                        </SciChart:FastLineRenderableSeries.PointMarker>
                    </SciChart:FastLineRenderableSeries>
                </SciChart:SciChartSurface.RenderableSeries>

                <!--  Declare Axes  -->
                <SciChart:SciChartSurface.XAxis>
                    <SciChart:TimeSpanAxis AxisTitle="Time" GrowBy="0.1, 0.1" DrawMajorGridLines="True" DrawMinorGridLines="True" DrawMajorTicks="True" DrawMinorTicks="True" />
                </SciChart:SciChartSurface.XAxis>

                <SciChart:SciChartSurface.YAxis>
                    <SciChart:NumericAxis  AxisAlignment="Left" AxisTitle=" % in Profit" GrowBy="0.1, 0.1" DrawMajorGridLines="True" DrawMinorGridLines="True" DrawMajorTicks="True" DrawMinorTicks="True"/>
                </SciChart:SciChartSurface.YAxis>

可以用 Scichart 的图表做到这一点吗?

4

1 回答 1

3

是的,您可以直接在 SciChartSurface 上操作 XAxis.VisibleRange。为此,只需使用类似这样的代码

// Create your Data Series
var xyDataSeries = new XyDataSeries<TimeSpan, double>();

// Append some values
xyDataSeries.Append(TimeSpan.FromSeconds(0), 0);
xyDataSeries.Append(TimeSpan.FromSeconds(1), 1);
xyDataSeries.Append(TimeSpan.FromSeconds(2), 2);
// ... 
xyDataSeries.Append(TimeSpan.FromSeconds(11), 11); 

// Set the XyDataSeries on the RenderableSeries
// Assumes chart is created as per your XAML above
sciChart.RenderableSeries[0].DataSeries = xyDataSeries;   

// Zoom XAxis to fit first three points
var xRange = new TimeSpanRange(xyDataSeries.XValues[0], xyDataSeries.XValues[2]);
sciChart.XAxis.VisibleRange = xRange;

// Zoom to fit in Y direction
sciChart.ZoomExtentsY(); 

希望这可以帮助!

披露:我是SciChart WPF Charts的 MD 和所有者

于 2014-05-23T10:05:50.177 回答