HTMLcopy
1
<div id="container"></div>
CSScopy
8
1
html,
2
body,
3
#container {
4
width: 100%;
5
height: 100%;
6
margin: 0;
7
padding: 0;
8
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function () {
2
// Creates Heat Map
3
var chart = anychart.heatMap(getData());
4
5
// Sets chart settings and hover chart settings
6
chart.stroke('#fff');
7
chart
8
.hovered()
9
.stroke('6 #fff')
10
.fill('#545f69')
11
.labels({ fontColor: '#fff' });
12
13
// Sets selection mode for single selection
14
chart.interactivity().selectionMode('none');
15
16
// Sets title
17
chart
18
.title()
19
.enabled(true)
20
.text('Risk Matrix in Project Server')
21
.padding([0, 0, 20, 0]);
22
23
// variable with list of labels
24
var namesList = ['Low', 'Medium', 'High', 'Extreme'];
25
// Sets adjust chart labels
26
chart
27
.labels()
28
.enabled(true)
29
.minFontSize(14)
30
// Formats labels
31
.format(function () {
32
// replace values with words for points heat
33
return namesList[this.heat];
34
});
35
36
// Sets Axes
37
chart.yAxis().stroke(null);
38
chart.yAxis().labels().padding([0, 15, 0, 0]);
39
chart.yAxis().ticks(false);
40
chart.xAxis().stroke(null);
41
chart.xAxis().ticks(false);
42
43
// Sets Tooltip
44
chart.tooltip().title().useHtml(true);
45
chart
46
.tooltip()
47
.useHtml(true)
48
.titleFormat(function () {
49
return '<b>' + namesList[this.heat] + '</b> Residual Risk';
50
})
51
.format(function () {
52
return (
53
'<span style="color: #CECECE">Likelihood: </span>' +
54
this.x +
55
'<br/>' +
56
'<span style="color: #CECECE">Consequence: </span>' +
57
this.y
58
);
59
});
60
61
// set container id for the chart
62
chart.container('container');
63
// initiate chart drawing
64
chart.draw();
65
});
66
67
function getData() {
68
return [
69
{
70
x: 'Rare',
71
y: 'Insignificant',
72
heat: 0,
73
fill: '#90caf9'
74
},
75
{
76
x: 'Rare',
77
y: 'Minor',
78
heat: 0,
79
fill: '#90caf9'
80
},
81
{
82
x: 'Rare',
83
y: 'Moderate',
84
heat: 0,
85
fill: '#90caf9'
86
},
87
{
88
x: 'Rare',
89
y: 'Major',
90
heat: 0,
91
fill: '#90caf9'
92
},
93
{
94
x: 'Rare',
95
y: 'Extreme',
96
heat: 0,
97
fill: '#90caf9'
98
},
99
{
100
x: 'Unlikely',
101
y: 'Insignificant',
102
heat: 0,
103
fill: '#90caf9'
104
},
105
{
106
x: 'Unlikely',
107
y: 'Minor',
108
heat: 0,
109
fill: '#90caf9'
110
},
111
{
112
x: 'Unlikely',
113
y: 'Moderate',
114
heat: 0,
115
fill: '#90caf9'
116
},
117
{
118
x: 'Unlikely',
119
y: 'Major',
120
heat: 1,
121
fill: '#ffb74d'
122
},
123
{
124
x: 'Unlikely',
125
y: 'Extreme',
126
heat: 1,
127
fill: '#ffb74d'
128
},
129
{
130
x: 'Possible',
131
y: 'Insignificant',
132
heat: 0,
133
fill: '#90caf9'
134
},
135
{
136
x: 'Possible',
137
y: 'Minor',
138
heat: 0,
139
fill: '#90caf9'
140
},
141
{
142
x: 'Possible',
143
y: 'Moderate',
144
heat: 1,
145
fill: '#ffb74d'
146
},
147
{
148
x: 'Possible',
149
y: 'Major',
150
heat: 1,
151
fill: '#ffb74d'
152
},
153
{
154
x: 'Possible',
155
y: 'Extreme',
156
heat: 1,
157
fill: '#ffb74d'
158
},
159
{
160
x: 'Likely',
161
y: 'Insignificant',
162
heat: 0,
163
fill: '#90caf9'
164
},
165
{
166
x: 'Likely',
167
y: 'Minor',
168
heat: 1,
169
fill: '#ffb74d'
170
},
171
{
172
x: 'Likely',
173
y: 'Moderate',
174
heat: 1,
175
fill: '#ffb74d'
176
},
177
{
178
x: 'Likely',
179
y: 'Major',
180
heat: 2,
181
fill: '#ef6c00'
182
},
183
{
184
x: 'Likely',
185
y: 'Extreme',
186
heat: 2,
187
fill: '#ef6c00'
188
},
189
{
190
x: 'Almost\nCertain',
191
y: 'Insignificant',
192
heat: 0,
193
fill: '#90caf9'
194
},
195
{
196
x: 'Almost\nCertain',
197
y: 'Minor',
198
heat: 1,
199
fill: '#ffb74d'
200
},
201
{
202
x: 'Almost\nCertain',
203
y: 'Moderate',
204
heat: 1,
205
fill: '#ffb74d'
206
},
207
{
208
x: 'Almost\nCertain',
209
y: 'Major',
210
heat: 2,
211
fill: '#ef6c00'
212
},
213
{
214
x: 'Almost\nCertain',
215
y: 'Extreme',
216
heat: 3,
217
fill: '#d84315'
218
}
219
];
220
}