protected override void InitExample() { var dataSeries = new XyzDataSeries <DateTime, double, double>(); var tradeDataSource = DataManager.Instance.GetTradeticks().ToArray(); dataSeries.Append( tradeDataSource.Select(x => x.TradeDate), tradeDataSource.Select(x => x.TradePrice), tradeDataSource.Select(x => x.TradeSize)); var xAxis = new DateAxis(Activity) { GrowBy = new DoubleRange(0, 0.1) }; var yAxis = new NumericAxis(Activity) { GrowBy = new DoubleRange(0, 0.1) }; var lineSeries = new FastLineRenderableSeries { DataSeries = dataSeries, StrokeStyle = new PenStyle.Builder(Activity).WithColor(Color.Rgb(0xFF, 0x33, 0x33)) .WithThickness(1f, ComplexUnitType.Dip).Build() }; var stops = new[] { 0, 0.95f, 1 }; var colors = new int[] { Color.Transparent, Resources.GetColor(Resource.Color.color_primary), Color.Transparent }; var gradientFill = new RadialGradientBrushStyle(0.5f, 0.5f, 0.5f, 0.5f, colors, stops, TileMode.Clamp); var bubbleSeries = new FastBubbleRenderableSeries { DataSeries = dataSeries, BubbleBrushStyle = gradientFill, ZScaleFactor = 3, AutoZRange = false, }; using (Surface.SuspendUpdates()) { Surface.XAxes.Add(xAxis); Surface.YAxes.Add(yAxis); Surface.RenderableSeries.Add(lineSeries); Surface.RenderableSeries.Add(bubbleSeries); Surface.ChartModifiers = new ChartModifierCollection { new RubberBandXyZoomModifier(), new ZoomExtentsModifier(), }; } }
private BrushStyle CreateRadialBrush(int centerColor, int edgeColor) { var fillStyle = new RadialGradientBrushStyle(0.5f, 0.5f, 0.5f, 0.5f, new[] { centerColor, edgeColor }, new[] { 0f, 1f }); return(fillStyle); }