2

グラフはうまく機能しており、必要な 11 個のポイントが適切にプロットされています。ただ、プロットが出てすぐの最初の3点に特に興味があります。プロセスが完了したときにチャートをフルスケールで表示するのではなく、プロットされた最初の 3 つのポイントにチャートを自動的にズームインする方法があるかどうか疑問に思っていました。xaml は次のとおりです。

<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>

シチャートのチャートでこれを行うことは可能ですか?

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(); 

お役に立てれば!

開示:私はMDであり、SciChart WPF Chartsの所有者です

于 2014-05-23T10:05:50.177 に答える