Beispiel #1
0
        void IPaletteProvider.OnBeginSeriesDraw(IRenderableSeries rSeries)
        {
            _rSeries = (FastUniformHeatmapRenderableSeries)rSeries;
            var dataSeries = (IUniformHeatmapDataSeries)_rSeries.DataSeries;

            _zValues = dataSeries.GetZValuesAsDoubles();

            _textureHeight = _zValues.GetLength(0);
            _textureWidth  = _zValues.GetLength(1);

            _isXFlipped = _rSeries.XAxis.FlipCoordinates;
            _isYFlipped = _rSeries.YAxis.FlipCoordinates;
        }
Beispiel #2
0
        /*
         * protected override void OnStart()
         * {
         *  base.OnStart();
         *
         *  InitExample();
         * }
         */

        protected void InitExample()
        {
            var xAxis = new NumericAxis(this);
            var yAxis = new NumericAxis(this);

            var rs = new FastUniformHeatmapRenderableSeries
            {
                ColorMap   = new ColorMap(new[] { Color.DarkBlue, Color.CornflowerBlue, Color.DarkGreen, Color.Chartreuse, Color.Yellow, Color.Red }, new[] { 0, 0.2f, 0.4f, 0.6f, 0.8f, 1 }),
                Minimum    = 0,
                Maximum    = 200,
                DataSeries = _dataSeries,
            };

            Surface.XAxes.Add(xAxis);
            Surface.YAxes.Add(yAxis);
            Surface.RenderableSeries.Add(rs);

            Start();
        }
        private void InitSecondChart()
        {
            WvlLogger.Log(LogType.TraceAll, "InitFirstChart()");

            var xAxis = new NumericAxis(this)
            {
                AutoRange = AutoRange.Always,
                //AutoRange = AutoRange.Never,

                /*
                 * DrawMajorBands = false,
                 * DrawLabels = false,
                 * DrawMajorTicks = false,
                 * DrawMinorTicks = false,
                 * DrawMajorGridLines = false,
                 * DrawMinorGridLines = false,
                 */
                FlipCoordinates = true,
                AxisAlignment   = AxisAlignment.Left,

                //VisibleRange = new DoubleRange(900, 1000)
                //VisibleRange = new DoubleRange(0, 5)
                //VisibleRange = new DoubleRange(-200,2048)
                //VisibleRange = new DoubleRange(100, 110),
                //GrowBy = new DoubleRange(1, 1),
            };

            var yAxis = new NumericAxis(this)
            {
                //AutoRange = AutoRange.Always,
                //AutoRange = AutoRange.Never,

                /*
                 * DrawMajorBands = false,
                 * DrawLabels = false,
                 * DrawMajorTicks = false,
                 * DrawMinorTicks = false,
                 * DrawMajorGridLines = false,
                 * DrawMinorGridLines = false,
                 */
                FlipCoordinates = true,
                AxisAlignment   = AxisAlignment.Bottom,



                //VisibleRange = new DoubleRange(height-60, height),

                //VisibleRange = new DoubleRange(height-120, height),
                //VisibleRange = new DoubleRange(height - 10, height),
                VisibleRange = new DoubleRange(height / 2, height),
                //VisibleRange = new DoubleRange(-3000, 20000)
                //VisibleRange = new DoubleRange(-300,2048)
                //GrowBy = new DoubleRange(1, 1),
            };

            // from XF sample

            /*
             * var rs = new FastUniformHeatmapRenderableSeries
             * {
             *  DataSeries = heatmapSeries,
             *  ColorMap = new SciChart.Charting.Visuals.RenderableSeries.ColorMap(
             *      new int[] { Color.Transparent, Color.DarkBlue, Color.Purple, Color.Red, Color.Yellow, Color.White },
             *      new float[] { 0f, 0.2f, 0.4f, 0.6f, 0.8f, 1f }
             *      )
             * };
             */


            // from Android.Kotlin sample
            var rs = new FastUniformHeatmapRenderableSeries
            {
                DataSeries = heatmapSeries,

                //Maximum = 70,
                //Minimum = -30,

                //Maximum = 30,
                //Minimum = -40,

                Maximum = 40,
                Minimum = -40,

                /*
                 * CellTextStyle = new Font().
                 *
                 *        .withCellTextStyle(sciChartBuilder.newFont().withTextSize(8).withTextColor(ColorUtil.White).build())
                 * .withDrawTextInCell(true)
                 */

                //ColorMap = new SciChart.Charting.Visuals.RenderableSeries.ColorMap(
                //    new int[] { Color.Transparent, Color.DarkBlue, Color.Purple, Color.Red, Color.Yellow, Color.White },
                //    new float[] { 0f, 0.0001f, 0.25f, 0.50f, 0.75f, 1f })


                /*
                 * ColorMap = new SciChart.Charting.Visuals.RenderableSeries.ColorMap(
                 *      //new int[] {
                 *      //    Color.Transparent,
                 *      //    Color.White,
                 *      //    Color.LightYellow,
                 *      //    Color.Yellow,
                 *      //    Color.Orange,
                 *      //    Color.OrangeRed,
                 *      //    Color.Red,
                 *      //    Color.Pink,
                 *      //    Color.Purple,
                 *      //    Color.DarkBlue,
                 *      //    Color.Black },
                 *      new int[] {
                 *      Color.Black,
                 *      Color.DarkBlue,
                 *      Color.Purple,
                 *      Color.Pink,
                 *      Color.Red,
                 *      Color.OrangeRed,
                 *      Color.Orange,
                 *      Color.Yellow,
                 *      Color.LightYellow,
                 *      Color.White,
                 *      Color.Transparent },
                 *  new float[] {
                 *      0f,
                 *      0.10f,
                 *      0.20f,
                 *      0.30f,
                 *      0.40f,
                 *      0.50f,
                 *      0.60f,
                 *      0.70f,
                 *      0.80f,
                 *      0.90f,
                 *      1f }),
                 *  //new float[] {
                 *  //    0f,
                 *  //    0.55f,
                 *  //    0.60f,
                 *  //    0.65f,
                 *  //    0.70f,
                 *  //    0.75f,
                 *  //    0.80f,
                 *  //    0.85f,
                 *  //    0.90f,
                 *  //    0.95f,
                 *  //    1f }),
                 */



                ColorMap = new SciChart.Charting.Visuals.RenderableSeries.ColorMap(
                    new int[] {
                    Color.Black,
                    Color.Purple,
                    Color.Red,
                    Color.Orange,
                    Color.Yellow,
                    Color.White
                },
                    //new float[] {
                    //    0f,
                    //    0.20f,
                    //    0.40f,
                    //    0.60f,
                    //    0.80f,
                    //    1f }),
                    //new float[] {
                    //    0.50f,
                    //    0.60f,
                    //    0.70f,
                    //    0.80f,
                    //    0.90f,
                    //    1f }),
                    new float[] {
                    0.25f,
                    0.50f,
                    0.65f,
                    0.80f,
                    0.90f,
                    1f
                }),


                /*
                 * CellTextStyle = new SciChart.Drawing.Common.FontStyle(16, Color.White),
                 * DrawTextInCell = true,
                 */
            };


            #region Zoom and Pan

            // Create interactivity modifiers
            var pinchZoomModifier = new PinchZoomModifier();
            pinchZoomModifier.SetReceiveHandledEvents(true);

            var zoomPanModifier = new ZoomPanModifier();
            zoomPanModifier.SetReceiveHandledEvents(true);

            var zoomExtentsModifier = new ZoomExtentsModifier();
            zoomExtentsModifier.SetReceiveHandledEvents(true);

            var yAxisDragModifier = new YAxisDragModifier();
            yAxisDragModifier.SetReceiveHandledEvents(true);

            var rollOverModifer = new RolloverModifier
            {
                ShowTooltip      = true,
                ShowAxisLabels   = true,
                DrawVerticalLine = true
            };

            // Create modifier group from declared modifiers
            var modifiers = new ModifierGroup(pinchZoomModifier, zoomPanModifier, zoomExtentsModifier, yAxisDragModifier, rollOverModifer);

            #endregion

            using (HeatmapSurface.SuspendUpdates())
            {
                HeatmapSurface.XAxes.Add(xAxis);
                HeatmapSurface.YAxes.Add(yAxis);
                HeatmapSurface.RenderableSeries.Add(rs);
                //HeatmapSurface.ChartModifiers.Add(modifiers);
            }
        }
        private void InitSecondChart()
        {
            WvlLogger.Log(LogType.TraceAll, "InitSecondChart()");

            var xAxis = new NumericAxis(this)
            {
                AutoRange          = AutoRange.Always,
                DrawMajorBands     = false,
                DrawLabels         = false,
                DrawMajorTicks     = false,
                DrawMinorTicks     = false,
                DrawMajorGridLines = false,
                DrawMinorGridLines = false,
                FlipCoordinates    = true,
                AxisAlignment      = AxisAlignment.Left
            };

            var yAxis = new NumericAxis(this)
            {
                DrawMajorBands     = false,
                DrawLabels         = false,
                DrawMajorTicks     = false,
                DrawMinorTicks     = false,
                DrawMajorGridLines = false,
                DrawMinorGridLines = false,
                FlipCoordinates    = true,
                AxisAlignment      = AxisAlignment.Bottom
            };

            // from XF sample

            /*
             * var rs = new FastUniformHeatmapRenderableSeries
             * {
             *  DataSeries = heatmapSeries,
             *  ColorMap = new SciChart.Charting.Visuals.RenderableSeries.ColorMap(
             *      new int[] { Color.Transparent, Color.DarkBlue, Color.Purple, Color.Red, Color.Yellow, Color.White },
             *      new float[] { 0f, 0.2f, 0.4f, 0.6f, 0.8f, 1f }
             *  )
             * };
             */

            // from Android sample
            var rs = new FastUniformHeatmapRenderableSeries
            {
                DataSeries = heatmapSeries,
                Maximum    = 70,
                Minimum    = -30,
                ColorMap   = new SciChart.Charting.Visuals.RenderableSeries.ColorMap(
                    new int[] { Color.Transparent, Color.DarkBlue, Color.Purple, Color.Red, Color.Yellow, Color.White },
                    new float[] { 0f, 0.0001f, 0.25f, 0.50f, 0.75f, 1f }
                    )
            };

            #region Zoom and Pan

            // Create interactivity modifiers
            var pinchZoomModifier = new PinchZoomModifier();
            pinchZoomModifier.SetReceiveHandledEvents(true);

            var zoomPanModifier = new ZoomPanModifier();
            zoomPanModifier.SetReceiveHandledEvents(true);

            var zoomExtentsModifier = new ZoomExtentsModifier();
            zoomExtentsModifier.SetReceiveHandledEvents(true);

            var yAxisDragModifier = new YAxisDragModifier();
            yAxisDragModifier.SetReceiveHandledEvents(true);

            // Create modifier group from declared modifiers
            var modifiers = new ModifierGroup(pinchZoomModifier, zoomPanModifier, zoomExtentsModifier, yAxisDragModifier);

            #endregion

            using (HeatmapSurface.SuspendUpdates())
            {
                HeatmapSurface.XAxes.Add(xAxis);
                HeatmapSurface.YAxes.Add(yAxis);
                HeatmapSurface.RenderableSeries.Add(rs);
                HeatmapSurface.ChartModifiers.Add(modifiers);
            }
        }
 public void OnBeginSeriesDraw(IRenderableSeries rSeries)
 {
     _heatmap = (FastUniformHeatmapRenderableSeries)rSeries;
 }