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
function getData() {
2
return [
3
{name: 'Seasonal activities', id: 'activities', parent: null, value: 1000},
4
{name: 'Winter', parent: 'activities', id: 'winter', value: 250},
5
{name: 'Spring', parent: 'activities', id: 'spring', value: 250},
6
{name: 'Summer', parent: 'activities', id: 'summer', value: 250},
7
{name: 'Autumn', parent: 'activities', id: 'autumn', value: 250},
8
{name: 'Running', parent: 'winter', id: 'run', value: 43},
9
{name: 'Snowboarding', parent: 'winter', id: 'snowboard', value: 50},
10
{name: 'Nordic Skiing', parent: 'winter', id: 'nordic', value: 50},
11
{name: 'Working Out', parent: 'winter', id: 'workout', value: 30},
12
{name: 'Ice Skating', parent: 'winter', id: 'iceskate', value: 40},
13
{name: 'Kitesurfing', parent: 'winter', id: 'kitesurf', value: 37},
14
{name: 'Riding', parent: 'spring', id: 'ride', value: 100},
15
{name: 'Crossfit', parent: 'spring', id: 'crossfit', value: 30},
16
{name: 'Hiking', parent: 'spring', id: 'hike', value: 30},
17
{name: 'Yoga', parent: 'spring', id: 'yoga', value: 40},
18
{name: 'Running', parent: 'spring', id: 'run', value: 50},
19
{name: 'Riding', parent: 'summer', id: 'ride', value: 150},
20
{name: 'Windsurfing', parent: 'summer', id: 'windsurf', value: 20},
21
{name: 'Swimming', parent: 'summer', id: 'swim', value: 30},
22
{name: 'Roller Skiing', parent: 'summer', id: 'roller', value: 10},
23
{name: 'Rowing', parent: 'summer', id: 'rowing', value: 40},
24
{name: 'Riding', parent: 'autumn', id: 'ride', value: 90},
25
{name: 'Hiking', parent: 'autumn', id: 'windsurf', value: 20},
26
{name: 'Swimming', parent: 'autumn', id: 'swim', value: 10},
27
{name: 'Nordic Skiing', parent: 'autumn', id: 'nordic', value: 40},
28
{name: 'Climbing', parent: 'autumn', id: 'climbing', value: 40}
29
];
30
};
31
32
anychart.onDocumentReady(function () {
33
//get data
34
var data = getData();
35
36
//create a chart
37
var chart = anychart.sunburst(data, 'as-table');
38
39
//configure and draw the chart
40
chart.title('Change the start angle by clicking');
41
chart.container('container');
42
chart.draw();
43
44
//update a start angle
45
var updateStartAngle = function (endAngle)
46
{
47
//set timeout for updating start angle
48
setTimeout(function ()
49
{
50
//check if there is a need to update an angle
51
if (endAngle > 0)
52
{
53
//update the chart by 5 angles
54
chart.startAngle(chart.startAngle() + 5);
55
//recurcive call of an update function with 5 angles less goal
56
updateStartAngle(endAngle-5);
57
}
58
}, 5)
59
}
60
61
chart.listen("mouseDown", function(){
62
updateStartAngle(90);
63
})
64
});
65