public ChartViewModel() { ViewportManager = new DefaultViewportManager(); var dataSeries = new XyDataSeries <float, float>(); var x = new float[] { 1, 2, 4, 5, 6, 7 }; var y = new float[] { 4, 2, 3, 1, 2, 3 }; dataSeries.SeriesName = "Series 1"; dataSeries.Append(x, y); var viewModel = new LineRenderableSeriesViewModel { DataSeries = dataSeries, StyleKey = "LineStyle" }; RenderableSeriesViewModels.Add(viewModel); var annotation = new ExHorizontalLineAnnotation { Caption = "Annotation", Y1 = 2 }; Annotations.Add(annotation); ViewportManager.ZoomExtents(); }
public ZoomHistoryMvvmViewModel() { _rangeHistoryCompare = new RangeHistorySameCompare(); var vm1 = new LineRenderableSeriesViewModel { DataSeries = FillData(new XyDataSeries <double, double>(), "firstDataSeries"), XAxisId = _xAxisKey.Id, YAxisId = _y0AxisKey.Id, StrokeThickness = 2, Stroke = Color.FromArgb(0xff, 0x64, 0x95, 0xed), }; var vm2 = new LineRenderableSeriesViewModel { DataSeries = FillData(new XyDataSeries <double, double>(), "secondDataSeries"), XAxisId = _xAxisKey.Id, YAxisId = _y1AxisKey.Id, StrokeThickness = 2, Stroke = Color.FromArgb(0xff, 0xff, 0x45, 0x00), }; RenderableSeriesViewModels = new List <IRenderableSeriesViewModel> { vm1, vm2 }; _zoomHistoryManager = new ZoomHistoryManager(); _zoomHistoryManager.RangeHistoryChanged += OnRangeHistoryChanged; _undoCommand = new ActionCommand(() => { if (_zoomHistoryManager.CanUndo()) { _zoomHistoryManager.Undo(); var index = RangesHistory.IndexOf(_selectedRange, _rangeHistoryCompare); _selectedRange = RangesHistory[index - 1]; OnPropertyChanged("SelectedRange"); RaiseUndoRedoCanExecute(); } }, () => _zoomHistoryManager.CanUndo()); _redoCommand = new ActionCommand(() => { if (_zoomHistoryManager.CanRedo()) { _zoomHistoryManager.Redo(); var index = RangesHistory.IndexOf(_selectedRange, _rangeHistoryCompare); _selectedRange = RangesHistory[index + 1]; OnPropertyChanged("SelectedRange"); RaiseUndoRedoCanExecute(); } }, () => _zoomHistoryManager.CanRedo()); }
private void InitializeRenderableSeries() { var renderableSeries = new LineRenderableSeriesViewModel { Stroke = Colors.Blue, StrokeThickness = 2, PointMarker = new EllipsePointMarker() }; var dataSeries = new XyDataSeries <double>(); for (int i = 0; i < 11; ++i) { dataSeries.Append(i, i - 3); } renderableSeries.DataSeries = dataSeries; RenderableSeries.Add(renderableSeries); }
public UsePaletteProviderViewModel() { // In the MvvmSciChartSurface, we don't have to create a dataset. Just create DataSeries and append as usual var dataSeries0 = new XyDataSeries <DateTime, double>(); var dataSeries1 = new XyDataSeries <DateTime, double>(); var dataSeries2 = new OhlcDataSeries <DateTime, double>(); var dataSeries3 = new OhlcDataSeries <DateTime, double>(); var dataSeries4 = new XyDataSeries <DateTime, double>(); var dataSeries5 = new XyDataSeries <DateTime, double>(); var dataSource = DataManager.Instance; // Prices are in the format Time, Open, High, Low, Close (all IList) var prices = dataSource.GetPriceData(Instrument.Indu.Value, TimeFrame.Daily); var dataOffset = -1000; // Append data to series dataSeries0.Append(prices.TimeData, dataSource.Offset(prices.OpenData, dataOffset * 2)); dataSeries1.Append(prices.TimeData, dataSource.Offset(prices.OpenData, -dataOffset)); dataSeries2.Append(prices.TimeData, prices.OpenData, prices.HighData, prices.LowData, prices.CloseData); dataSeries3.Append(prices.TimeData, dataSource.Offset(prices.OpenData, dataOffset), dataSource.Offset(prices.HighData, dataOffset), dataSource.Offset(prices.LowData, dataOffset), dataSource.Offset(prices.CloseData, dataOffset)); dataSeries4.Append(prices.TimeData, dataSource.Offset(prices.CloseData, dataOffset * 3)); dataSeries5.Append(prices.TimeData, dataSource.Offset(prices.OpenData, dataOffset * 2.5)); // Add the DataSeries / RenderableSeries to the ChartSeriesViewModel collection // These are paired so if you want to remove the series, just remove the viewmodel (it will remove the data and renderable series) // Or, if you want to change the RenderableSeries properties, just update the RenderSeries on the ChartSeriesViewModel var mountainSeriesVm = new MountainRenderableSeriesViewModel { DataSeries = dataSeries0, StyleKey = "MountainSeriesStyle" }; var lineSeriesVm = new LineRenderableSeriesViewModel { DataSeries = dataSeries1, StyleKey = "LineSeriesStyle" }; var ohlcSeriesVm = new OhlcRenderableSeriesViewModel { DataSeries = dataSeries2, StyleKey = "OhlcSeriesStyle" }; var candlestickSeriesVm = new CandlestickRenderableSeriesViewModel { DataSeries = dataSeries3, StyleKey = "CandlestickSeriesStyle" }; var columnSeriesVm = new ColumnRenderableSeriesViewModel { DataSeries = dataSeries4, StyleKey = "ColumnSeriesStyle" }; var scatterSeriesVm = new XyScatterRenderableSeriesViewModel { DataSeries = dataSeries5, StyleKey = "ScatterSeriesStyle" }; _chartSeriesViewModels = new List <IRenderableSeriesViewModel> { mountainSeriesVm, lineSeriesVm, ohlcSeriesVm, candlestickSeriesVm, columnSeriesVm, scatterSeriesVm }; }