SciChart WPF Charts SDK v6.x

SciChart WPF Charts SDK v6.x

一、前言

SciChart SDK v6.x有破解版的,至2099年到期,有水印。官方教程见:[SciChart WPF Documentation - Tutorial 01 - Referencing SciChart DLLs | WPF Chart Documentation](https://www.scichart.com/documentation/win/current/webframe.html#Tutorial 01 - Referencing SciChart DLLs.html)。

二、2D Charts基础教程。

1、引用DLL

创建了WPF项目后,第一步就是要引用DLL,DLL位于SDK的安装目录下。
在这里插入图片描述

2、SciChartSurface

需要引入命名空间:

xmlns:sci="http://schemas.abtsoftware.co.uk/scichart"
                <sci:SciChartSurface ChartTitle="{Binding ChartTitle}">
                    <sci:SciChartSurface.XAxis>
                        <sci:NumericAxis AxisTitle="{Binding XAxisTitle}" />
                    </sci:SciChartSurface.XAxis>
                    <sci:SciChartSurface.YAxis>
                        <sci:NumericAxis AxisTitle="{Binding YAxisTitle}" />
                    </sci:SciChartSurface.YAxis>
                </sci:SciChartSurface>
        private string _chartTitle = "Hello SciChart World!";
        private string _xAxisTitle = "XAxis";
        private string _yAxisTitle = "YAxis";

        public string ChartTitle
        {
            get { return _chartTitle; }
            set
            {
                _chartTitle = value;RaisePropertyChanged();
            }
        }
        public string XAxisTitle
        {
            get { return _xAxisTitle; }
            set
            {
                _xAxisTitle = value;
                RaisePropertyChanged();
            }
        }
        public string YAxisTitle
        {
            get { return _yAxisTitle; }
            set
            {
                _yAxisTitle = value;
                RaisePropertyChanged();
            }
        }
3、RenderableSeries
                <sci:SciChartSurface ChartTitle="{Binding ChartTitle}" RenderableSeries="{sci:SeriesBinding Series}">

                    <sci:SciChartSurface.XAxis>
                        <sci:NumericAxis AxisTitle="{Binding XAxisTitle}" />
                    </sci:SciChartSurface.XAxis>
                    <sci:SciChartSurface.YAxis>
                        <sci:NumericAxis AxisTitle="{Binding YAxisTitle}" />
                    </sci:SciChartSurface.YAxis>
                </sci:SciChartSurface>
 private readonly ObservableCollection<IRenderableSeriesViewModel> _series = 
            new ObservableCollection<IRenderableSeriesViewModel>();

public ObservableCollection<IRenderableSeriesViewModel> Series
        {
            get { return _series; }
        }

            var xyData = new XyDataSeries<double, double>() { SeriesName="Series1"};
            for (int i = 0; i < 1000; i++)
            {
                xyData.Append(i, Math.Sin(i * 0.02));
            }

            Series.Add(new LineRenderableSeriesViewModel
            {
                DataSeries=xyData,
            });
4、Zoom和Pan
                    <sci:SciChartSurface
                        Grid.Row="1"
                        ChartTitle="{Binding ChartTitle}"
                        RenderableSeries="{sci:SeriesBinding Series}">
                        <sci:SciChartSurface.XAxis>
                            <sci:NumericAxis AxisTitle="{Binding XAxisTitle}" />
                        </sci:SciChartSurface.XAxis>

                        <sci:SciChartSurface.YAxis>
                            <sci:NumericAxis AxisTitle="{Binding YAxisTitle}" />
                        </sci:SciChartSurface.YAxis>
                        <sci:SciChartSurface.ChartModifier>
                            <sci:ModifierGroup>
                                <sci:MouseWheelZoomModifier IsEnabled="True" />
                            </sci:ModifierGroup>
                        </sci:SciChartSurface.ChartModifier>

                    </sci:SciChartSurface>

需要添加到ChartModifier中,其中有一个ModifierGroup.这里有很多行为可以添加.

Modifier NameDescription
MouseWheelZoomModifier鼠标滑轮进行缩放
RubberBandXyZoomModifier鼠标画矩形进行放大
XAxisDragModifier拖拽X轴,进行X轴的缩放
YAxisDragModifier拖拽Y轴,进行Y轴的缩放
ZoomExtentsModifier双击复原缩放为原始值
ZoomPanModifier可以在XY方向上直接拖拽
<sci:SciChartSurface
                        Grid.Row="1"
                        ChartTitle="{Binding ChartTitle}"
                        RenderableSeries="{sci:SeriesBinding Series}">
                        <sci:SciChartSurface.XAxis>
                            <sci:NumericAxis AxisTitle="{Binding XAxisTitle}" />
                        </sci:SciChartSurface.XAxis>

                        <sci:SciChartSurface.YAxis>
                            <sci:NumericAxis AxisTitle="{Binding YAxisTitle}" />
                        </sci:SciChartSurface.YAxis>
                        <sci:SciChartSurface.ChartModifier>
                            <sci:ModifierGroup>
                                <!--  鼠标滑轮在X方向进行缩放  -->
                                <sci:MouseWheelZoomModifier ActionType="Zoom" XyDirection="XDirection" />

                                <!--  双击时复原缩放和平移  -->
                                <sci:ZoomExtentsModifier ExecuteOn="MouseDoubleClick" />
                                <!--  左键拖拽时在X方向平移  -->
                                <sci:ZoomPanModifier
                                    ClipModeX="None"
                                    XyDirection="XDirection"
                                    ZoomExtentsY="False" />
                            </sci:ModifierGroup>
                        </sci:SciChartSurface.ChartModifier>
                    </sci:SciChartSurface>
5、ToolTip和Legends
<sci:SciChartSurface
                        Grid.Row="1"
                        ChartTitle="{Binding ChartTitle}"
                        RenderableSeries="{sci:SeriesBinding Series}">
                        <sci:SciChartSurface.XAxis>
                            <sci:NumericAxis AxisTitle="{Binding XAxisTitle}" />
                        </sci:SciChartSurface.XAxis>

                        <sci:SciChartSurface.YAxis>
                            <sci:NumericAxis AxisTitle="{Binding YAxisTitle}" />
                        </sci:SciChartSurface.YAxis>
                        <sci:SciChartSurface.ChartModifier>
                            <sci:ModifierGroup>
                                <!--  鼠标滑轮在X方向进行缩放  -->
                                <sci:MouseWheelZoomModifier ActionType="Zoom" XyDirection="XDirection" />

                                <!--  双击时复原缩放和平移  -->
                                <sci:ZoomExtentsModifier ExecuteOn="MouseDoubleClick" />
                                <!--  左键拖拽时在X方向平移  -->
                                <sci:ZoomPanModifier
                                    ClipModeX="None"
                                    XyDirection="XDirection"
                                    ZoomExtentsY="False" />
                                <sci:LegendModifier
                                    HorizontalAlignment="Center"
                                    VerticalAlignment="Top"
                                    Orientation="Horizontal"
                                    ShowLegend="True" />
                                <sci:RolloverModifier
                                    DrawVerticalLine="True"
                                    ShowAxisLabels="True"
                                    ShowTooltipOn="MouseHover"
                                    SourceMode="AllSeries" />
                            </sci:ModifierGroup>
                        </sci:SciChartSurface.ChartModifier>
                    </sci:SciChartSurface>
6、实时更新
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值