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
var normal = '#9ccc65';
3
var warning = '#ffd54f';
4
var danger = '#ef6c00';
5
6
// Create and return simple linear gauge
7
function drawGauge(title, value, ticks) {
8
// create gauge
9
var gauge = anychart.gauges.linear();
10
gauge.data([value]).padding([10, 0, 0, 0]).tooltip(false);
11
12
// sets gauge Title
13
gauge
14
.title()
15
.enabled(true)
16
.text(title)
17
.padding([30, 0, 10, 0])
18
.orientation('bottom')
19
.fontColor('#212121')
20
.fontSize(18);
21
22
// sets scaleBars
23
gauge
24
.scaleBar(0)
25
.width('8%')
26
.from(ticks[0])
27
.to(ticks[1])
28
.fill({
29
keys: [normal, normal, normal, normal, warning],
30
angle: 90
31
});
32
33
gauge
34
.scaleBar(1)
35
.width('8%')
36
.from(ticks[1])
37
.to(ticks[2])
38
.fill(warning);
39
40
gauge
41
.scaleBar(2)
42
.width('8%')
43
.from(ticks[2])
44
.to(ticks[3])
45
.fill({
46
keys: [warning, danger, danger, danger, danger],
47
angle: 90
48
});
49
50
// Set scale settings
51
var scale = gauge.scale();
52
scale.minimum(ticks[0]).maximum(ticks[3]).ticks(ticks);
53
54
// Set axis and axis settings
55
var axis = gauge.axis();
56
axis.width('0.5%').offset('-1%').scale(scale);
57
axis.labels().fontSize(16).format('{%Value} mmol/l');
58
59
// Set marker point
60
var marker = gauge.marker(0);
61
marker.color('#7c868e').offset('8.5%').type('triangle-left');
62
63
// Set label for marker point
64
marker
65
.labels()
66
.enabled(true)
67
.position('right-center')
68
.offsetX(0)
69
.anchor('left-center')
70
.fontSize(18)
71
.fontColor('#212121');
72
marker.hovered().labels().enabled(true).fontColor('#212121');
73
marker.selected().labels().enabled(true).fontColor('#212121');
74
75
return gauge;
76
}
77
78
// Create simple gauge
79
var beforeGauge = drawGauge('Fasting Glucose Level', 5.7, [
80
0,
81
5.6,
82
7.0,
83
15
84
]);
85
var afterGauge = drawGauge('2-hours after 75g Glucose Load', 7.9, [
86
0,
87
7.8,
88
11.1,
89
15
90
]);
91
92
var legend = anychart.standalones.legend();
93
legend
94
.fontSize('15px')
95
.margin(5, 0, 5, 0)
96
.items([
97
{ text: 'Normal', iconFill: normal },
98
{ text: 'Impaired Glucose Tolerance', iconFill: warning },
99
{ text: 'Diabetes', iconFill: danger }
100
]);
101
102
// Create table to place thermometers
103
var layoutTable = anychart.standalones.table();
104
layoutTable
105
.hAlign('center')
106
.vAlign('middle')
107
.useHtml(true)
108
.fontSize(16)
109
.cellBorder(null);
110
111
// Put gauges into the layout table
112
layoutTable.contents([
113
[
114
'Blood Test Results for John Doe<br/><span style="color: #212121; font-size: 14px">(By glucose level, mmol/l)</span>',
115
null
116
],
117
[legend, null],
118
[beforeGauge, afterGauge]
119
]);
120
121
// Set height for first row in layout table
122
layoutTable.getRow(0).height(70).fontSize(18);
123
layoutTable.getRow(1).height(40).fontSize(14);
124
125
// Merge cells in layout table where needed
126
layoutTable.getCell(0, 0).colSpan(2);
127
layoutTable.getCell(1, 0).colSpan(2);
128
129
// Set container id and initiate drawing
130
layoutTable.container('container');
131
layoutTable.draw();
132
});