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 stage to put sort buttons along the chart
4
stage = anychart.graphics.create("container");
5
6
// create treemap
7
var chart = anychart.treeMap();
8
9
// setting the maximum levels depth
10
chart.maxDepth(4);
11
12
// set title
13
chart.title("Sorting sample: click buttons to sort");
14
15
// create ascending sort label
16
sortAsc = createLabel("Ascending", 10, function() {
17
// ascending sorting
18
chart.sort(anychart.enums.Sort.ASC);
19
chart.title("Ascending");
20
});
21
22
// create descending sort label
23
sortDesc = createLabel("Descending", 90, function() {
24
// descending sorting
25
chart.sort(anychart.enums.Sort.DESC);
26
chart.title("Descending");
27
});
28
29
// create no sort sort label
30
sortAsc = createLabel("No sorting", 180, function() {
31
// remove sorting
32
chart.sort(anychart.enums.Sort.NONE);
33
chart.title("No sorting");
34
});
35
36
// data
37
var data = [
38
{name: 'Eurasia',
39
children:[
40
{name: "Asia", children:[
41
{name: "Eastern Asia", children:[
42
{name:"Mongolia", value: 1564116, capital: 'Ulan-Bator'},
43
{name: "China", value: 1564116, capital: 'Beijing'},
44
{name: "Southern Korea", value: 1564116, capital: 'Seoul'},
45
{name: "Northern Korea", value: 120540, capital: 'Pyongyang'},
46
{name: "Japan", value: 1564116, capital: 'Tokio', children:[
47
{name: "Hokkaido", value: 83400},
48
{name: "Kyushu", value: 35640},
49
{name: "Honshu", value: 230500},
50
{name: "Shikoku", value: 1200}
51
]}
52
]},
53
{name: "Western Asia", children:[
54
{name: "Jordan", value: 92300, capital: 'Amman'},
55
{name: "Georgia", value: 69700, capital: 'Tbilisi'},
56
{name: "Israel", value: 20770, capital: 'Jerusalem'},
57
{name: "Armenia", value: 29743, capital: 'Yerevan'},
58
{name: "Azerbaijan", value: 86600, capital: 'Baku'},
59
{name: "Bahrain", value: 750, capital: 'Manama'},
60
]},
61
{name: "Southern Asia", children:[
62
{name:"India", value: 3287263, capital: "New Delhi"},
63
{name: 'Iran', parent: 'Southern Asia', value: 16480},
64
{name: 'Shri-Lanka', value: 65610, capital: 'Colombo'},
65
{name: 'Nepal', value: 140800, capital: 'Kathmandu'}
66
]},
67
{name: "South-Eastern Asia", children:[
68
{name: "Singapoor", value: 718.3, capital: 'Singapoor'},
69
{name: "Indonesia", value: 1919440, capital: "Jakarta", children:[
70
{name: "Java", value: 128297},
71
{name: "Kalimantan (Borneo)", value: 174600},
72
{name: "Sulawesi", value: 174600},
73
{name: "Sumatra", value: 473481}
74
]},
75
{name: "Thailand", value: 513.120, capital: 'Bangkok'},
76
{name: "Philippines", value: 300000, capital: 'Manila', children:[
77
{name: "Luzon", value: 104688},
78
{name: "Eastern Visayas", value: 15875},
79
{name: "Central Visayas", value: 21562},
80
{name: "Mindanayo", value: 21562}
81
]},
82
{name: "Laos", value: 236800, capital: 'Vientiane'},
83
{name: "Cambodia", value: 181040, capital: 'Phnom Penh'}
84
]},
85
{name: "Central Asia", children:[
86
{name: "Kazakhstan", value: 2724902, capital: 'Astana'},
87
{name: "Kyrgyzstan", value: 199951, capital: 'Bishkek'},
88
{name: "Tajikistan", value: 142000, capital: 'Dushanbe'},
89
{name: "Turkmenistan", value: 491200, capital: 'Ashgabat'},
90
{name: "Uzbekistan", value: 447400, capital: 'Tashkent'}
91
]}
92
]},
93
{name: "Europe", children: [
94
{name: "Eastern Europe", children:[
95
{name: "Poland", value: 312679, capital: 'Warsaw'},
96
{name: "Ukraine", value: 603628, capital: 'Kiev'}
97
]},
98
{name: "Western Europe", children:[
99
{name: "Austria", value: 83879, capital: 'Vienna'},
100
{name: "Germany", value: 357168, capital: 'Berlin'},
101
{name: "France", value: 643801, capital: 'Paris'}
102
]},
103
{name: "Southern Europe", children:[
104
{name: "Malta", value: 316, capital: 'Valletta'},
105
{name: "Greece", value: 131957, capital: 'Athens'},
106
{name: "Italy", value: 301338, capital: 'Rome'}
107
]},
108
{name: "Northern Europe", children:[
109
{name: "Finland", value: 338424, capital: 'Helsinki'},
110
{name: "Great Britain", value: 209331, capital: 'London'},
111
{name: "Ireland", value: 84421, capital: 'Dublin'},
112
{name: "Scandinavia", value: 928057, children:[
113
{name: "Sweden", value: 450295, capital: 'Stockholm'},
114
{name: "Norway", value: 385178, capital: 'Oslo'},
115
{name: "Denmark", value: 42923.53, capital: 'Copenhagen'}
116
]},
117
]}
118
]}
119
]}
120
];
121
122
// set data and type settings to a chart
123
chart.data(data, anychart.enums.TreeFillingMethod.AS_TREE);
124
125
// remove headers
126
chart.headers().enabled(null);
127
128
// format labels
129
chart.labels().format("{%value}");
130
131
// set chart bounds and display it
132
chart.bounds(0, "30", "100%", "90%");
133
chart.container(stage);
134
chart.draw();
135
});
136
137
// helper function to create buttons
138
function createLabel(text, offset, action){
139
var label = anychart.standalones.label();
140
label.background({fill: "#9E9E9E"});
141
label.text(text);
142
label.fontColor("#fff");
143
label.padding(5);
144
label.parentBounds(offset, 5, 130, 100);
145
label.listen("click", action);
146
label.container(stage);
147
label.draw();
148
label.listen("mouseOver", function(){
149
label.background().fill("#9E9E9E 0.5")
150
document.body.style.cursor = "pointer";
151
label.draw();
152
});
153
label.listen("mouseOut", function(){
154
label.background().fill("#9E9E9E")
155
document.body.style.cursor = "auto";
156
label.draw();
157
});
158
return label;
159
}