<div id="container"></div>
html, body, #container {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
function getData() {
return [
{name: 'Seasonal activities', id: 'activities', parent: null, value: 1000},
{name: 'Winter', parent: 'activities', id: 'winter', value: 250},
{name: 'Spring', parent: 'activities', id: 'spring', value: 250},
{name: 'Summer', parent: 'activities', id: 'summer', value: 250},
{name: 'Autumn', parent: 'activities', id: 'autumn', value: 250},
{name: 'Running', parent: 'winter', id: 'run', value: 43},
{name: 'Snowboarding', parent: 'winter', id: 'snowboard', value: 50},
{name: 'Nordic Skiing', parent: 'winter', id: 'nordic', value: 50},
{name: 'Working Out', parent: 'winter', id: 'workout', value: 30},
{name: 'Ice Skating', parent: 'winter', id: 'iceskate', value: 40},
{name: 'Kitesurfing', parent: 'winter', id: 'kitesurf', value: 37},
{name: 'Riding', parent: 'spring', id: 'ride', value: 100},
{name: 'Crossfit', parent: 'spring', id: 'crossfit', value: 30},
{name: 'Hiking', parent: 'spring', id: 'hike', value: 30},
{name: 'Yoga', parent: 'spring', id: 'yoga', value: 40},
{name: 'Running', parent: 'spring', id: 'run', value: 50},
{name: 'Riding', parent: 'summer', id: 'ride', value: 150},
{name: 'Windsurfing', parent: 'summer', id: 'windsurf', value: 20},
{name: 'Swimming', parent: 'summer', id: 'swim', value: 30},
{name: 'Roller Skiing', parent: 'summer', id: 'roller', value: 10},
{name: 'Rowing', parent: 'summer', id: 'rowing', value: 40},
{name: 'Riding', parent: 'autumn', id: 'ride', value: 90},
{name: 'Hiking', parent: 'autumn', id: 'windsurf', value: 20},
{name: 'Swimming', parent: 'autumn', id: 'swim', value: 10},
{name: 'Nordic Skiing', parent: 'autumn', id: 'nordic', value: 40},
{name: 'Climbing', parent: 'autumn', id: 'climbing', value: 40}
];
};
anychart.onDocumentReady(function () {
//get data
var data = getData();
//create a chart
var chart = anychart.sunburst(data, 'as-table');
//configure and draw the chart
chart.title('Change the start angle by clicking');
chart.container('container');
chart.draw();
//update a start angle
var updateStartAngle = function (endAngle)
{
//set timeout for updating start angle
setTimeout(function ()
//check if there is a need to update an angle
if (endAngle > 0)
//update the chart by 5 angles
chart.startAngle(chart.startAngle() + 5);
//recurcive call of an update function with 5 angles less goal
updateStartAngle(endAngle-5);
}, 5)
chart.listen("mouseDown", function(){
updateStartAngle(90);
})
});