Angular Polar Uniform Heatmap Chart

Creates a Angular Polar Uniform Heatmap Chart using SciChart.js, with the following features: DataLabels, Rounded corners, Gradient-palette fill, startup animations.

;

Fullscreen

Edit

 Edit

Docs

drawExample.ts

angular.ts

theme.ts

generateHeatmapData.ts

Copy to clipboard
Minimise
Fullscreen
1import {
2    PolarMouseWheelZoomModifier,
3    PolarZoomExtentsModifier,
4    PolarPanModifier,
5    PolarNumericAxis,
6    SciChartPolarSurface,
7    EPolarAxisMode, 
8    NumberRange, 
9    EAxisAlignment, 
10    EPolarLabelMode,
11    HeatmapColorMap,
12    UniformHeatmapDataSeries,
13    PolarUniformHeatmapRenderableSeries,
14    HeatmapLegend,
15    Thickness,
16} from "scichart";
17import { appTheme } from "../../../theme";
18import { generateHeatmapData } from "./generateHeatmapData";
19
20const HEATMAP_WIDTH = 300;
21const HEATMAP_HEIGHT = 500;
22
23// Define color map globally to be used in both the chart and the legend
24const COLOR_MAP = new HeatmapColorMap({
25    minimum: 0,
26    maximum: 1,
27    gradientStops: [
28        { offset: 0, color: appTheme.VividPink },
29        { offset: 0.1, color: appTheme.VividOrange },
30        { offset: 0.2, color: appTheme.MutedRed },
31        { offset: 0.5, color: appTheme.VividGreen },
32        { offset: 0.8, color: appTheme.VividSkyBlue },
33        { offset: 0.9, color: appTheme.Indigo },
34        { offset: 1, color: appTheme.DarkIndigo },
35    ]
36})
37
38export const drawExample = async (rootElement: string | HTMLDivElement) => {
39    const { sciChartSurface, wasmContext } = await SciChartPolarSurface.create(rootElement, {
40        theme: appTheme.SciChartJsTheme,
41        padding: new Thickness(0, 60, 0, 0)
42    });
43
44    const radialAxisY = new PolarNumericAxis(wasmContext, {
45        polarAxisMode: EPolarAxisMode.Radial,
46        axisAlignment: EAxisAlignment.Right,
47        visibleRangeLimit: new NumberRange(0, HEATMAP_HEIGHT),
48        useNativeText: true,
49        drawMinorGridLines: false,
50
51        drawMajorTickLines: false,
52        drawMinorTickLines: false,
53        labelPrecision: 0,
54        innerRadius: 0.2
55    });
56    sciChartSurface.yAxes.add(radialAxisY);
57
58    const angularAxisX = new PolarNumericAxis(wasmContext, {
59        polarAxisMode: EPolarAxisMode.Angular,
60        axisAlignment: EAxisAlignment.Top,
61        flippedCoordinates: true,
62        useNativeText: true,
63
64        drawMajorTickLines: false,
65        drawMinorTickLines: false,
66        polarLabelMode: EPolarLabelMode.Parallel,
67        labelPrecision: 0,
68        totalAngle: Math.PI / 2
69    });
70    sciChartSurface.xAxes.add(angularAxisX);
71
72    const heatmapSeries = new PolarUniformHeatmapRenderableSeries(wasmContext, {
73        dataSeries: new UniformHeatmapDataSeries(wasmContext, {
74            zValues: generateHeatmapData(HEATMAP_WIDTH, HEATMAP_HEIGHT, 1999),
75            xStart: 0,
76            xStep: 1,
77            yStart: 0,
78            yStep: 1,
79        }),
80        colorMap: COLOR_MAP,
81        stroke: "white",
82        strokeThickness: 5,
83    });
84    sciChartSurface.renderableSeries.add(heatmapSeries);
85
86    sciChartSurface.chartModifiers.add(
87        new PolarPanModifier(),
88        new PolarZoomExtentsModifier(),
89        new PolarMouseWheelZoomModifier()
90    );
91
92    return { sciChartSurface, wasmContext };
93};
94
95// Draws a Heatmap legend over the <div id={divHeatmapLegend}></div>
96export const drawHeatmapLegend = async (rootElement: string | HTMLDivElement) => {
97    const { heatmapLegend } = await HeatmapLegend.create(rootElement, {
98        theme: {
99            ...appTheme.SciChartJsTheme,
100            sciChartBackground: appTheme.DarkIndigo + "BB",
101            loadingAnimationBackground: appTheme.DarkIndigo + "BB",
102        },
103        yAxisOptions: {
104            isInnerAxis: true,
105            labelStyle: {
106                fontSize: 14,
107                color: appTheme.ForegroundColor,
108            },
109            axisBorder: {
110                borderRight: 2,
111                color: appTheme.ForegroundColor,
112            },
113            majorTickLineStyle: {
114                color: appTheme.ForegroundColor,
115                tickSize: 8,
116                strokeThickness: 2,
117            },
118            minorTickLineStyle: {
119                color: appTheme.ForegroundColor,
120                tickSize: 4,
121                strokeThickness: 1,
122            },
123        },
124        colorMap: COLOR_MAP
125    });
126
127    return { sciChartSurface: heatmapLegend.innerSciChartSurface.sciChartSurface };
128};

See Also: Polar Charts (20 Demos)

Angular Polar Line Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Line Chart

Angular Polar Line Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Spline Line Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Spline Line Chart

Angular Polar Spline Line Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Line Temperature Average | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Line Temperature Average

Angular Polar Line Temperature Average demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Column Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Column Chart

Angular Polar Column Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Column Category Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Column Category Chart

Angular Polar Column Category Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Range Column Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Range Column Chart

Angular Polar Range Column Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Windrose Column Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Windrose Column Chart

Angular Windrose Column Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Sunburst Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Sunburst Chart

Angular Polar Sunburst Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Radial Column Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Radial Column Chart

Angular Radial Column Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Stacked Radial Column Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Stacked Radial Column Chart

Angular Stacked Radial Column Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Mountain Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Mountain Chart

Angular Polar Mountain Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Stacked Mountain Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Stacked Mountain Chart

Angular Polar Stacked Mountain Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Band Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Band Chart

Angular Polar Band Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Scatter Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Scatter Chart

Angular Polar Scatter Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Radar Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Radar Chart

Angular Polar Radar Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Gauge Chart | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Gauge Chart

Angular Polar Gauge Chart demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Gauge Fifo Dashboard | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Gauge Fifo Dashboard

Angular Polar Gauge Fifo Dashboard demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Ultrasound Heatmap | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Ultrasound Heatmap

Angular Polar Ultrasound Heatmap demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Partial Arc | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Partial Arc

Angular Polar Partial Arc demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

Angular Polar Label Modes | JavaScript Charts | SciChart.js | SciChart.js Demo

Angular Polar Label Modes

Angular Polar Label Modes demo by SciChart supports gradient fill and paletteproviders for more custom coloring options. Get your free demo now.

SciChart Ltd, 16 Beaufort Court, Admirals Way, Docklands, London, E14 9XL.