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
anychart.onDocumentReady(function () {
2
3
anychart.theme(anychart.themes.darkTurquoise);
4
5
// create a data set
6
var data = anychart.data.set([
7
['Accelerate', 'Onsite', 18, NaN, NaN],
8
['CIS Others', 'Offshore', NaN, NaN, 1],
9
['CIS Others', 'Onsite', 2, 1, 1],
10
['CIS Renew', 'Offshore', 6, NaN, 2],
11
['CIS Renew', 'Onsite', 7, 1, 4]
12
]);
13
14
// map the data
15
var seriesData_1 = data.mapAs({value: 2, 'p2': 1});
16
var seriesData_2 = data.mapAs({value: 3});
17
var seriesData_3 = data.mapAs({value: 4});
18
19
// create a chart
20
var chart = anychart.column();
21
22
// enable the value stacking mode
23
chart.yScale().stackMode("value");
24
25
// create area series, set the data
26
var series1 = chart.column(seriesData_1);
27
series1.labels()
28
.position('center')
29
.fontColor('black')
30
.enabled(true);
31
var series2 = chart.column(seriesData_2);
32
series2.labels()
33
.position('center')
34
.fontColor('black')
35
.enabled(true);
36
var series3 = chart.column(seriesData_3);
37
series3.labels()
38
.position('center')
39
.fontColor('black')
40
.enabled(true);
41
42
chart.xScale().names('p2');
43
chart.xAxis(0).ticks(false);
44
45
chart.legend(true);
46
47
// set the container id
48
chart.container("container").draw();
49
50
var names = [];
51
var ticks = [];
52
var iter = data.mapAs({'p1': 0, 'p2': 1}).getIterator();
53
while(iter.advance()) {
54
names.push(iter.get('p1'));
55
if (names[names.length - 1] != names[names.length - 2]) {
56
ticks.push(iter.getIndex());
57
}
58
}
59
var scale2 = anychart.scales.ordinal();
60
scale2.values(chart.xScale().values());
61
scale2.names(names);
62
scale2.ticks(ticks);
63
chart.xAxis(1)
64
.scale(scale2)
65
.stroke('none')
66
.ticks(false);
67
chart.xAxis(2)
68
.scale(scale2)
69
.labels(false)
70
.stroke('none');
71
chart.xAxis(2).ticks()
72
.length(46)
73
.position('inside');
74
75
var grid = chart.xGrid(1);
76
grid.enabled(true);
77
grid.scale(scale2);
78
79
chart.isVertical(true);
80
81
chart.legend(false);
82
});