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
// create a data set
4
var data = anychart.data.set([
5
["QTR1", 2.5, 2.0, 2.5, 3.0],
6
["QTR2", 2.0, 1.5, 3.0, 3.5],
7
["QTR3", 1.5, 2.5, 3.5, 2.5],
8
["QTR4", 3.5, 2.5, 2.5, 1.5]
9
]);
10
11
// map the data
12
var seriesData_1 = data.mapAs({x: 0, value: 1});
13
var seriesData_2 = data.mapAs({x: 0, value: 2});
14
var seriesData_3 = data.mapAs({x: 0, value: 3});
15
var seriesData_4 = data.mapAs({x: 0, value: 4});
16
17
// create a chart
18
var chart = anychart.column();
19
20
// create scales and set stacking modes
21
yScale1 = anychart.scales.linear();
22
yScale1.stackMode("percent");
23
24
yScale2 = anychart.scales.linear();
25
yScale2.stackMode("percent");
26
27
// create area and column series
28
// bind them to different scales
29
chart.area(seriesData_1).yScale(yScale1);
30
chart.area(seriesData_2).yScale(yScale1);
31
32
chart.column(seriesData_3).yScale(yScale2);
33
chart.column(seriesData_4).yScale(yScale2);
34
35
/* bind the y-axis to the first scale
36
you can avoid this setting by reusing the primary y-scale
37
when you create yScale1:
38
var yScale1 = chart.yScale();*/
39
chart.yAxis().scale(yScale1);
40
41
// configure labels on the y-axis
42
chart.yAxis().labels().format("{%value}%");
43
44
// configure tooltips
45
chart.tooltip().format("{%yPercentOfCategory}{decimalsCount:2}%");
46
47
// set the chart title
48
chart.title("Percent Stacked Chart: Area/Column Overlay");
49
50
// set the container id
51
chart.container("container");
52
53
// initiate drawing the chart
54
chart.draw();
55
56
});