private void DrawHeatMap(int robotId) { if (TeamMatesDisplayDictionary.ContainsKey(robotId)) { if (TeamMatesDisplayDictionary[robotId].heatMap == null) { return; } //heatmapSeries.DataSeries = new UniformHeatmapDataSeries<double, double, double>(data, startX, stepX, startY, stepY); double xStep = (TerrainUpperX - TerrainLowerX) / (TeamMatesDisplayDictionary[robotId].heatMap.GetUpperBound(1) + 1); double yStep = (TerrainUpperY - TerrainLowerY) / (TeamMatesDisplayDictionary[robotId].heatMap.GetUpperBound(0) + 1); var heatmapDataSeries = new UniformHeatmapDataSeries <double, double, double>(TeamMatesDisplayDictionary[robotId].heatMap, TerrainLowerX, yStep, TerrainLowerY, xStep); // Apply the dataseries to the heatmap heatmapSeries.DataSeries = heatmapDataSeries; heatmapDataSeries.InvalidateParentSurface(RangeMode.None); } }
protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { base.OnElementPropertyChanged(sender, e); if (e.PropertyName == SciChartSurfaceView.ChartSeriesProperty.PropertyName) { switch (Element.ChartSeries.SeriesType) { case RenderableSeriesType.Line: { var dataSeries = ((LineRenderableSeries)Element.ChartSeries).DataSeries as XYDataSeries <int, int>; samplesDataSeries = new XyDataSeries <int, int>(); if (dataSeries.FifoCapacity > 0) { samplesDataSeries.FifoCapacity = (Java.Lang.Integer)dataSeries.FifoCapacity; } Control.RenderableSeries.Add(new FastLineRenderableSeries { DataSeries = samplesDataSeries }); break; } case RenderableSeriesType.Column: { var dataSeries = ((ColumnRenderableSeries)Element.ChartSeries).DataSeries as XYDataSeries <int, int>; fftDataSeries = new XyDataSeries <int, int>(); if (dataSeries.FifoCapacity > 0) { fftDataSeries.FifoCapacity = (Integer)dataSeries.FifoCapacity; } Control.RenderableSeries.Add(new FastColumnRenderableSeries { DataSeries = fftDataSeries, ZeroLineY = -30 }); break; } case RenderableSeriesType.Heatmap: { spectrogramDataSeries = new UniformHeatmapDataSeries <int, int, int>(1024, 1024); Control.RenderableSeries.Add(new FastUniformHeatmapRenderableSeries { DataSeries = spectrogramDataSeries }); break; } default: break; } } if (e.PropertyName == SciChartSurfaceView.XAxesProperty.PropertyName) { foreach (var commonAxis in Element.XAxes) { switch (commonAxis.AxisType) { case AxisType.NumericAxis: Control.XAxes.Add(CommonAxisToNative(commonAxis)); break; default: break; } } } if (e.PropertyName == SciChartSurfaceView.YAxesProperty.PropertyName) { foreach (var commonAxis in Element.YAxes) { switch (commonAxis.AxisType) { case AxisType.NumericAxis: Control.YAxes.Add(CommonAxisToNative(commonAxis)); break; default: break; } } } }