private LiveChartSeries BuildSeries(QuantChartSeries qSeries) { LiveChartSeries series; switch (qSeries.SeriesType) { case SeriesType.Line: series = new GLineSeries(); break; case SeriesType.Bar: series = new GColumnSeries(); break; case SeriesType.Candle: series = new GOhlcSeries(); break; default: throw new NotSupportedException(); } series.Configuration = ChartPointMapper; series.Title = qSeries.Name; series.PointGeometry = GetPointGeometry(qSeries.ScatterMarkerSymbol); series.Fill = Brushes.Transparent; return(series); }
void SetupPlot() { mGScatterSeries = new GScatterSeries { Values = new GearedValues <ObservablePoint> { }, PointGeometry = DefaultGeometries.Circle, MaxPointShapeDiameter = 7, }; mGColumnSeries = new GColumnSeries { Title = "", Values = new GearedValues <ObservablePoint> { }, LabelPoint = point => point.Y.ToString(), MaxColumnWidth = double.PositiveInfinity, ColumnPadding = 0, }; mSeriesCollection.Add(mGScatterSeries); mChart.Series = mSeriesCollection; }
public static GColumnSeries ToVolumeSeries(this OhlcData data, ResolutionSourceProvider resolver = null, string title = "") { var chartPointEvaluator = new InstantChartPointMapper(resolver ?? new ResolutionSourceProvider(data.Resolution)); var series = new GColumnSeries { Configuration = chartPointEvaluator, Title = title }; if (data == null) { return(series); } var values = new GearedValues <InstantChartPoint>(); values.AddRange(data.OrderBy(x => x.DateTimeUtc).Select(i => new InstantChartPoint(i))); values.Quality = Quality.Low; series.Values = values; return(series); }
public Series BuildSeries(SeriesDefinition sourceSeries) { Series series; switch (sourceSeries.SeriesType) { case SeriesType.Line: series = new GLineSeries { Configuration = ChartPointEvaluator, Fill = Brushes.Transparent }; break; case SeriesType.Bar: series = new GColumnSeries { Configuration = ChartPointEvaluator, }; break; case SeriesType.Candle: series = new GCandleSeries { Configuration = OhlcChartPointEvaluator, IncreaseBrush = Brushes.Aquamarine, DecreaseBrush = Brushes.LightCoral, Fill = Brushes.Transparent }; break; case SeriesType.Scatter: series = new GScatterSeries { Configuration = ChartPointEvaluator, StrokeThickness = 1, GearedPointGeometry = GetGearedPointGeometry(sourceSeries.ScatterMarkerSymbol) }; break; default: throw new NotSupportedException(); } series.Title = sourceSeries.Name; series.PointGeometry = GetPointGeometry(sourceSeries.ScatterMarkerSymbol); // Check whether the series has a color configured if (_defaultColors.All(c => !sourceSeries.Color.Equals(c))) { // No default color present. use it for the stroke var brush = new SolidColorBrush(sourceSeries.Color); brush.Freeze(); switch (sourceSeries.SeriesType) { case SeriesType.Candle: series.Fill = brush; break; default: series.Stroke = brush; break; } } return(series); }