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
// The data used in this sample can be obtained from the CDN
3
// https://cdn.anychart.com/samples-data/general-features/axis-labels-position/data.json
4
5
anychart.data.loadJsonFile(
6
'https://cdn.anychart.com/samples-data/general-features/axis-labels-position/data.json',
7
function (data) {
8
var view = anychart.data.set(data).mapAs();
9
10
// create column chart
11
var chart = anychart.bar();
12
13
// set total value for every year
14
for (var i = 0; i < view.getRowsCount(); i++) {
15
view.set(i, 'value', sumOf(view.get(i, 'data')));
16
}
17
18
// set chart settings
19
chart.padding(25);
20
chart.title(
21
'Top destinations out of Dublin Airport by years.\nSelect year:'
22
);
23
24
// create and setup column series
25
var series = chart.bar(view);
26
series.fill('gold').stroke('gold', 1);
27
28
// set xAxis labels settings
29
chart.xAxis().labels().position('inside').fontColor('#000');
30
31
chart
32
.labels()
33
.enabled(true)
34
.anchor('right-center')
35
.fontColor('#000');
36
37
chart.yAxis().enabled(false);
38
chart.xAxis().stroke('#fff').ticks().stroke('#fff');
39
40
// set container id for the chart
41
chart.container('container');
42
// initiate chart drawing
43
chart.draw();
44
45
// create label
46
var label = chart.label(0);
47
label
48
.enabled(false)
49
.text('Back')
50
.fontColor('#fff')
51
.padding(5)
52
.position('left-top')
53
.offsetX(32)
54
.offsetY(25)
55
.background('#9E9E9E');
56
57
label.listen('click', function () {
58
label.enabled(false);
59
series.unselect();
60
series.selectionMode('drill-down');
61
addPointEvent(chart, series, label);
62
series.data(view);
63
chart.title(
64
'Top destinations out of Dublin Airport by years.\nSelect year:'
65
);
66
});
67
68
label.listen('mouseOver', function () {
69
this.background(anychart.color.darken('#9E9E9E', 0.35));
70
});
71
72
label.listen('mouseOut', function () {
73
this.background('#9E9E9E');
74
});
75
76
addPointEvent(chart, series, label);
77
}
78
);
79
});
80
81
function sumOf(arr) {
82
var sum = 0;
83
for (var i = 0; i < arr.length; i++) {
84
sum += arr[i].value;
85
}
86
return sum;
87
}
88
89
function addPointEvent(chart, series, label) {
90
// event for point select
91
chart.listenOnce('pointClick', function (event) {
92
this.title(
93
'Top destinations out of Dublin Airport in ' +
94
event.iterator.get('x')
95
);
96
if (!label.enabled()) {
97
var monthsData = anychart.data
98
.set(event.point.get('data'))
99
.mapAs()
100
.sort('value', 'desc');
101
102
label.enabled(true);
103
series.unselect();
104
series.selectionMode('none');
105
series.data(monthsData);
106
}
107
});
108
}