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 chart and set the data
4
var chart = anychart.treeMap(getData(), "as-tree");
5
6
// set the depth of hints
7
chart.hintDepth(2);
8
9
// configure labels
10
chart.labels().format("{%name}");
11
12
// play with the drilldown feature
13
chart.listen("drillChange", function(e){
14
// Treemap listen() Callback method. Function that looks like:
15
// function(event){
16
// event.actualTarget - actual event target
17
// event.currentTarget - current event target
18
// event.iterator - event iterator
19
// event.originalEvent - original event
20
// event.point - event point
21
// event.pointIndex - event point index
22
// }
23
console.log(e.current.get('name'));
24
// get the drilldown path and convert it to a string
25
var text = printPath(chart.getDrilldownPath());
26
// set the chart title
27
chart.title().useHtml(true);
28
chart.title("Treemap: Interactivity (Drillchange)" +
29
"<br><br>currentTarget: " + e.currentTarget +
30
"<br><br>current.get('name'): " + e.current.get('name') +
31
"<br><br>Path: " + text
32
);
33
});
34
35
// set the chart title
36
chart.title("Treemap: Interactivity (Drillchange)");
37
38
// set the container id
39
chart.container("container");
40
41
// initiate drawing the chart
42
chart.draw();
43
});
44
45
// convert the current drilldown path to a string
46
function printPath(path){
47
/* go through the array of data items
48
and use the get() method to obtain the "name" field */
49
var text = "";
50
for (i = 0; i < path.length; i++){
51
text += path[i].get("name") + "\\";
52
}
53
return text;
54
};
55
56
// get data
57
function getData(){
58
// create data
59
var data = [
60
{name: "Root", children: [
61
{name: "Item 1", children: [
62
{name: "Item 1-1", children: [
63
{name: "Item 1-1-1", value: 1000},
64
{name: "Item 1-1-2", value: 600},
65
{name: "Item 1-1-3", value: 550},
66
{name: "Item 1-1-4", value: 300},
67
{name: "Item 1-1-5", value: 150}
68
]},
69
{name: "Item 1-2", value: 2300},
70
{name: "Item 1-3", value: 1500}
71
]},
72
{name: "Item 2", children: [
73
{name: "Item 2-1", children: [
74
{name: "Item 2-1-1", value: 2100},
75
{name: "Item 2-1-2", value: 1000},
76
{name: "Item 2-1-3", value: 800},
77
{name: "Item 2-1-4", value: 750}
78
]},
79
{name: "Item 2-2", children: [
80
{name: "Item 2-2-1", value: 560},
81
{name: "Item 2-2-2", value: 300},
82
{name: "Item 2-2-3", value: 150},
83
{name: "Item 2-2-4", value: 90}
84
]},
85
{name: "Item 2-3", value: 400}
86
]},
87
{name: "Item 3", children: [
88
{name: "Item 3-1", children: [
89
{name: "Item 3-1-1", value: 850},
90
{name: "Item 3-1-2", value: 400},
91
{name: "Item 3-1-3", value: 150}
92
]},
93
{name: "Item 3-2", value: 1350},
94
{name: "Item 3-3", value: 1300},
95
{name: "Item 3-4", children: [
96
{name: "Item 3-4-1", value: 400},
97
{name: "Item 3-4-2", value: 300},
98
{name: "Item 3-4-3", value: 250},
99
{name: "Item 3-4-4", value: 150}
100
]}
101
]}
102
]}
103
];
104
return data;
105
};