HTMLcopy
1
<div id="breadcrumbs"></div>
2
<div id="container"></div>
CSScopy
16
1
html, body, #container {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
7
#breadcrumbs {
8
text-align: center;
9
top: 10px;
10
z-index: 99;
11
position: relative;
12
}
13
#container {
14
position: absolute;
15
top: 0;
16
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function () {
2
var data = getData();
3
4
var treeData = anychart.data.tree(data, 'as-table');
5
6
var chart = anychart.sunburst();
7
chart.data(treeData);
8
9
// Listen for draw event and update path in 'bread crumbs'.
10
chart.listen('chartDraw', function () {
11
printPath(chart.getDrilldownPath());
12
});
13
chart.title().orientation('bottom');
14
chart.title().padding(10);
15
16
chart.container('container');
17
chart.draw();
18
});
19
function getData() {
20
return [
21
{name: 'Seasonal activities', id: 'activities', parent: null, value: 1000},
22
{name: 'Winter', parent: 'activities', id: 'winter', value: 250},
23
{name: 'Spring', parent: 'activities', id: 'spring', value: 250},
24
{name: 'Summer', parent: 'activities', id: 'summer', value: 250},
25
{name: 'Autumn', parent: 'activities', id: 'autumn', value: 250},
26
{name: 'Running', parent: 'winter', id: 'run', value: 43},
27
{name: 'Snowboarding', parent: 'winter', id: 'snowboard', value: 50},
28
{name: 'Nordic Skiing', parent: 'winter', id: 'nordic', value: 50},
29
{name: 'Working Out', parent: 'winter', id: 'workout', value: 30},
30
{name: 'Ice Skating', parent: 'winter', id: 'iceskate', value: 40},
31
{name: 'Kitesurfing', parent: 'winter', id: 'kitesurf', value: 37},
32
{name: 'Riding', parent: 'spring', id: 'ride', value: 100},
33
{name: 'Crossfit', parent: 'spring', id: 'crossfit', value: 30},
34
{name: 'Hiking', parent: 'spring', id: 'hike', value: 30},
35
{name: 'Yoga', parent: 'spring', id: 'yoga', value: 40},
36
{name: 'Running', parent: 'spring', id: 'run', value: 50},
37
{name: 'Riding', parent: 'summer', id: 'ride', value: 150},
38
{name: 'Windsurfing', parent: 'summer', id: 'windsurf', value: 20},
39
{name: 'Swimming', parent: 'summer', id: 'swim', value: 30},
40
{name: 'Roller Skiing', parent: 'summer', id: 'roller', value: 10},
41
{name: 'Rowing', parent: 'summer', id: 'rowing', value: 40},
42
{name: 'Riding', parent: 'autumn', id: 'ride', value: 90},
43
{name: 'Hiking', parent: 'autumn', id: 'windsurf', value: 20},
44
{name: 'Swimming', parent: 'autumn', id: 'swim', value: 10},
45
{name: 'Nordic Skiing', parent: 'autumn', id: 'nordic', value: 40},
46
{name: 'Climbing', parent: 'autumn', id: 'climbing', value: 40}
47
];
48
}
49
50
function printPath(path) {
51
var crumbs = document.getElementById("breadcrumbs");
52
53
var link;
54
55
var text = "";
56
57
crumbs.innerHTML = "";
58
59
for (var i = 0; i < path.length; i++) {
60
link = document.createElement("a");
61
text = path[i].get("id");
62
link.innerHTML = text;
63
crumbs.appendChild(link);
64
crumbs.appendChild(document.createTextNode(" \\ "));
65
66
if (i + 1 == path.length) continue;
67
link.setAttribute("href", "#");
68
link.addEventListener("click", function () {
69
chart.drillTo(this.innerHTML);
70
});
71
}
72
return text;
73
}