HTMLcopy
1
<div id="container"></div>
CSScopy
6
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
JavaScriptcopy
x
1
var data = [100, 54, 67, 83];
2
var dataSet = anychart.data.set(data);
3
var palette = anychart.palettes.distinctColors().items(['#64b5f6', '#1976d2', '#ef6c00', '#ffd54f', '#455a64', '#96a6a6', '#dd2c00', '#00838f', '#00bfa5', '#ffa000']);
4
5
anychart.onDocumentReady(function () {
6
var stage = anychart.graphics.create('container');
7
8
var gaugeMPH = anychart.gauges.circular();
9
gaugeMPH.data([88]);
10
gaugeMPH.width('50%');
11
gaugeMPH.height('50%');
12
gaugeMPH.left('5%');
13
styleGauge(gaugeMPH, 'MPH');
14
15
gaugeMPH.range(0).from(100).to(120).fill('gray 0.2').startSize(10).endSize(10).radius(90);
16
17
var axis = gaugeMPH.axis();
18
axis.scale()
19
.minimum(0)
20
.maximum(120)
21
.ticks({interval: 10})
22
.minorTicks({interval: 5});
23
axis.labels().position('outside');
24
25
gaugeMPH.container(stage);
26
gaugeMPH.draw();
27
28
29
var gaugeRPM = anychart.gauges.circular();
30
gaugeRPM.data([3248]);
31
gaugeRPM.width('50%');
32
gaugeRPM.height('50%');
33
gaugeRPM.left('45%');
34
styleGauge(gaugeRPM, 'RPM');
35
gaugeRPM.label(1)
36
.text('x1000')
37
.fontSize(10)
38
.offsetY('55%')
39
.offsetX(5);
40
41
gaugeRPM.range(0).from(0).to(3000).fill('green 0.2').startSize(0).endSize(10).radius(90);
42
gaugeRPM.range(1).from(3000).to(4000).fill('orange 0.2').startSize(10).endSize(15).radius(90);
43
gaugeRPM.range(2).from(4000).to(5000).fill('red 0.2').startSize(15).endSize(20).radius(90);
44
45
var axis = gaugeRPM.axis();
46
axis.scale()
47
.minimum(0)
48
.maximum(5000)
49
.ticks({interval: 1000})
50
.minorTicks({interval: 100});
51
axis.labels().position('outside').format(function () {
52
//alert(this)
53
return this.value.toString().substr(0, 1)
54
});
55
56
gaugeRPM.container(stage);
57
gaugeRPM.draw();
58
59
60
var gaugeFuel = anychart.gauges.circular();
61
gaugeFuel.data([34]);
62
gaugeFuel.width('25%');
63
gaugeFuel.height('50%');
64
gaugeFuel.top('50%');
65
styleGauge(gaugeFuel, 'FUEL');
66
67
gaugeFuel.range(0).from(0).to(5).fill('red 0.2').startSize(20).endSize(15).radius(90);
68
gaugeFuel.range(1).from(5).to(10).fill('orange 0.2').startSize(15).endSize(10).radius(90);
69
gaugeFuel.range(2).from(10).to(40).fill('green 0.2').startSize(10).endSize(0).radius(90);
70
71
var axis = gaugeFuel.axis();
72
axis.scale()
73
.minimum(0)
74
.maximum(40)
75
.ticks({interval: 10})
76
.minorTicks({interval: 2});
77
axis.labels().position('outside');
78
79
gaugeFuel.container(stage);
80
gaugeFuel.draw();
81
82
83
var gaugeBoost = anychart.gauges.circular();
84
gaugeBoost.data([19]);
85
gaugeBoost.width('25%');
86
gaugeBoost.height('50%');
87
gaugeBoost.top('50%');
88
gaugeBoost.left('25%');
89
styleGauge(gaugeBoost, 'BOOST');
90
91
gaugeBoost.range(0).from(0).to(15).fill('green 0.2').startSize(0).endSize(10).radius(90);
92
gaugeBoost.range(1).from(15).to(20).fill('orange 0.2').startSize(10).endSize(15).radius(90);
93
gaugeBoost.range(2).from(20).to(25).fill('red 0.2').startSize(15).endSize(20).radius(90);
94
95
var axis = gaugeBoost.axis();
96
axis.scale()
97
.minimum(0)
98
.maximum(25)
99
.ticks({interval: 5})
100
.minorTicks({interval: 1});
101
axis.labels().position('outside');
102
103
gaugeBoost.container(stage);
104
gaugeBoost.draw();
105
106
107
var gaugeCHT = anychart.gauges.circular();
108
gaugeCHT.data([512]);
109
gaugeCHT.width('25%');
110
gaugeCHT.height('50%');
111
gaugeCHT.top('50%');
112
gaugeCHT.left('50%');
113
styleGauge(gaugeCHT, 'CHT');
114
115
gaugeCHT.range(0).from(0).to(750).fill('green 0.2').startSize(0).endSize(10).radius(90);
116
gaugeCHT.range(1).from(750).to(900).fill('orange 0.2').startSize(10).endSize(15).radius(90);
117
gaugeCHT.range(2).from(900).to(1000).fill('red 0.2').startSize(15).endSize(20).radius(90);
118
119
var axis = gaugeCHT.axis();
120
axis.scale()
121
.minimum(0)
122
.maximum(1000)
123
.ticks({interval: 250})
124
.minorTicks({interval: 20});
125
axis.labels().position('outside');
126
127
gaugeCHT.container(stage);
128
gaugeCHT.draw();
129
130
131
var gaugeOil = anychart.gauges.circular();
132
gaugeOil.data([230]);
133
gaugeOil.width('25%');
134
gaugeOil.height('50%');
135
gaugeOil.top('50%');
136
gaugeOil.left('75%');
137
styleGauge(gaugeOil, 'Oil t');
138
139
gaugeOil.range(0).from(0).to(750).fill('green 0.2').startSize(0).endSize(10).radius(90);
140
gaugeOil.range(1).from(750).to(900).fill('orange 0.2').startSize(10).endSize(15).radius(90);
141
gaugeOil.range(2).from(900).to(1000).fill('red 0.2').startSize(15).endSize(20).radius(90);
142
143
var axis = gaugeOil.axis();
144
axis.scale()
145
.minimum(0)
146
.maximum(1000)
147
.ticks({interval: 200})
148
.minorTicks({interval: 20});
149
axis.labels().position('outside').format(function () {
150
return this.value / 100;
151
});
152
153
gaugeOil.label(1)
154
.text('x100')
155
.fontSize(10)
156
.offsetY('55%')
157
.offsetX(5);
158
159
gaugeOil.container(stage);
160
gaugeOil.draw();
161
162
function styleGauge(gauge, labelText) {
163
gauge.fill('#fff')
164
.stroke(null)
165
.padding(5)
166
.margin(10)
167
.startAngle(200)
168
.sweepAngle(320);
169
170
gauge.needle()
171
.stroke('2 #545f69')
172
.startRadius('5%')
173
.endRadius('92%')
174
.startWidth('0.1%')
175
.endWidth('0.01%')
176
.middleWidth('0.01%');
177
178
gauge.cap()
179
.radius('3%')
180
.enabled(true)
181
.fill('#545f69');
182
183
gauge.label(0)
184
.text(labelText)
185
.useHtml(true)
186
.fontColor('#212121')
187
.fontSize(12)
188
.offsetY('40%')
189
.offsetX(-20)
190
.anchor('center');
191
192
gauge.axis()
193
.fill('#545f69')
194
.width(1)
195
.ticks({type: 'line', fill: '#545f69', length: 4})
196
.minorTicks({type: 'line', fill: '#545f69', length: 2});
197
}
198
});