HTMLcopy
1
<button onclick="nextItem()">Drill to Next Item</button>
2
<div id="container"></div>
CSScopy
15
1
html, body {
2
width: 100%;
3
height: 100%;
4
margin: 0;
5
padding: 0;
6
}
7
button {
8
margin: 10px 0 0 10px;
9
}
10
#container {
11
position: absolute;
12
width: 100%;
13
top: 35px;
14
bottom: 0;
15
}
JavaScriptcopy
x
1
anychart.onDocumentReady(function () {
2
3
// get data
4
var data = getData();
5
6
// create a data tree
7
var treeData = anychart.data.tree(data, "as-tree");
8
9
// get the traverser of a tree
10
traverser = treeData.getTraverser();
11
12
// skip the root node
13
traverser.advance();
14
15
// create a chart and set the data
16
chart = anychart.treeMap(treeData);
17
18
// set the depth of hints
19
chart.hintDepth(2);
20
21
// configure labels
22
chart.labels().format("{%name}");
23
24
// set the chart title
25
chart.title("Tree Data Model: Traversing");
26
27
// set the container id
28
chart.container("container");
29
30
// initiate drawing the chart
31
chart.draw();
32
});
33
34
// get data
35
function getData() {
36
// create data
37
var data = [
38
{name: "Root", children: [
39
{name: "Item 1", children: [
40
{name: "Item 1-1", children: [
41
{name: "Item 1-1-1", value: 1000},
42
{name: "Item 1-1-2", value: 600},
43
{name: "Item 1-1-3", value: 550},
44
{name: "Item 1-1-4", value: 300},
45
{name: "Item 1-1-5", value: 150}
46
]},
47
{name: "Item 1-2", value: 2300},
48
{name: "Item 1-3", value: 1500}
49
]},
50
{name: "Item 2", children: [
51
{name: "Item 2-1", children: [
52
{name: "Item 2-1-1", value: 2100},
53
{name: "Item 2-1-2", value: 1000},
54
{name: "Item 2-1-3", value: 800},
55
{name: "Item 2-1-4", value: 750}
56
]},
57
{name: "Item 2-2", children: [
58
{name: "Item 2-2-1", value: 560},
59
{name: "Item 2-2-2", value: 300},
60
{name: "Item 2-2-3", value: 150},
61
{name: "Item 2-2-4", value: 90}
62
]},
63
{name: "Item 2-3", value: 400}
64
]},
65
{name: "Item 3", children: [
66
{name: "Item 3-1", children: [
67
{name: "Item 3-1-1", value: 850},
68
{name: "Item 3-1-2", value: 400},
69
{name: "Item 3-1-3", value: 150}
70
]},
71
{name: "Item 3-2", value: 1350},
72
{name: "Item 3-3", value: 1300},
73
{name: "Item 3-4", children: [
74
{name: "Item 3-4-1", value: 400},
75
{name: "Item 3-4-2", value: 300},
76
{name: "Item 3-4-3", value: 250},
77
{name: "Item 3-4-4", value: 150}
78
]}
79
]}
80
]}
81
];
82
return data;
83
}
84
85
// get the next data item and drill to it
86
function nextItem() {
87
// try to go to the next item
88
if (traverser.advance()) {
89
/* get the current item
90
as an instance of the dataItem class */
91
var dataItem = traverser.current();
92
// drill down to the item
93
chart.drillTo(dataItem);
94
}
95
else {
96
//reset the traverser
97
traverser.reset();
98
}
99
}