<!DOCTYPE html>
<html class="zc-html">
<head>
<meta charset="utf-8">
<title>ZingSoft Demo</title>
<script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script>
<style>
.zc-html,
.zc-body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
.chart--container {
height: 100%;
width: 100%;
min-height: 530px;
}
.zc-ref {
display: none;
}
select {
margin: 10px;
}
</style>
</head>
<body class="zc-body">
<!-- CHART CONTAINER -->
<div id="myChart" class="chart--container">
<a href="https://www.zingchart.com/" rel="noopener" class="zc-ref">Powered by ZingChart</a>
<label for="tree-aspect">Layout</label>
<select id="tree-aspect">
<option value="tree-right" selected>Right to left</option>
<option value="tree-left">Left to right</option>
<option value="tree-up">Bottom up</option>
<option value="tree-down">Top Down</option>
<option value="tree-radial">Circle</option>
</select>
<label for="tree-node">Node Connector Type</label>
<select id="tree-node">
<option value="arc" selected>Arc</option>
<option value="line">Line</option>
<option value="side-before">Side Before</option>
<option value="side-after">Side After</option>
<option value="side-between">Side Between</option>
<option value="split">Split</option>
<option value="sibling">Sibling</option>
</select>
<label for="tree-node">Node Shape</label>
<select id="tree-node-shape">
<option value="circle" selected>Circle</option>
<option value="square">Square</option>
<option value="diamond">Diamond</option>
<option value="triangle">Triangle</option>
<option value="star5">Star</option>
<option value="star6">Star Type 2</option>
<option value="star7">Star Type 3</option>
<option value="star8">Star Type 4</option>
<option value="rpoly5">Polygon</option>
<option value="gear5">Gear</option>
<option value="gear6">Gear 2</option>
<option value="gear7">Gear 3</option>
<option value="gear8">Gear 4</option>
</select>
</div>
<script>
ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; // window:load event for Javascript to run after HTML
// because this Javascript is injected into the document head
window.addEventListener('load', () => {
let chartData = [{
id: 'theworld',
parent: '',
name: 'The World',
},
{
id: 'asia',
parent: 'theworld',
name: 'Asia',
value: 4100000000
},
{
id: 'africa',
parent: 'theworld',
name: 'Africa',
value: 1260000000
},
{
id: 'america',
parent: 'theworld',
name: 'America',
value: 328000000
},
{
id: 'europe',
parent: 'theworld',
name: 'Europe',
value: 741000000
},
{
id: 'ca',
parent: 'america',
name: 'California',
value: 32000000
},
{
id: 'ny',
parent: 'america',
name: 'New York',
value: 19000000
},
{
id: 'txt',
parent: 'america',
name: 'Texas',
value: 29000000
},
];
let chartConfig = {
type: 'tree',
options: {
link: {
aspect: 'arc'
},
maxSize: 15,
minSize: 5,
node: {
type: 'circle',
tooltip: {
padding: '8px 10px',
borderRadius: '3px',
}
}
},
series: chartData
};
zingchart.render({
id: 'myChart',
data: chartConfig,
height: '95%',
width: '100%',
output: 'canvas'
});
// change tree layout
document.getElementById('tree-aspect').addEventListener('change', function(e) {
chartConfig.options.aspect = e.srcElement.value;
zingchart.exec('myChart', 'setdata', {
data: chartConfig
});
});
// change tree connector
document.getElementById('tree-node').addEventListener('change', function(e) {
chartConfig.options.link.aspect = e.srcElement.value;
zingchart.exec('myChart', 'setdata', {
data: chartConfig
});
});
// change node type
document.getElementById('tree-node-shape').addEventListener('change', function(e) {
chartConfig.options.node.type = e.srcElement.value;
zingchart.exec('myChart', 'setdata', {
data: chartConfig
});
})
});
</script>
</body>
</html>
<!DOCTYPE html>
<html class="zc-html">
<head>
<meta charset="utf-8">
<title>ZingSoft Demo</title>
<script src="https://cdn.zingchart.com/zingchart.min.js"></script>
</head>
<body class="zc-body">
<!-- CHART CONTAINER -->
<div id="myChart" class="chart--container">
<a href="https://www.zingchart.com/" rel="noopener" class="zc-ref">Powered by ZingChart</a>
<label for="tree-aspect">Layout</label>
<select id="tree-aspect">
<option value="tree-right" selected>Right to left</option>
<option value="tree-left">Left to right</option>
<option value="tree-up">Bottom up</option>
<option value="tree-down">Top Down</option>
<option value="tree-radial">Circle</option>
</select>
<label for="tree-node">Node Connector Type</label>
<select id="tree-node">
<option value="arc" selected>Arc</option>
<option value="line">Line</option>
<option value="side-before">Side Before</option>
<option value="side-after">Side After</option>
<option value="side-between">Side Between</option>
<option value="split">Split</option>
<option value="sibling">Sibling</option>
</select>
<label for="tree-node">Node Shape</label>
<select id="tree-node-shape">
<option value="circle" selected>Circle</option>
<option value="square">Square</option>
<option value="diamond">Diamond</option>
<option value="triangle">Triangle</option>
<option value="star5">Star</option>
<option value="star6">Star Type 2</option>
<option value="star7">Star Type 3</option>
<option value="star8">Star Type 4</option>
<option value="rpoly5">Polygon</option>
<option value="gear5">Gear</option>
<option value="gear6">Gear 2</option>
<option value="gear7">Gear 3</option>
<option value="gear8">Gear 4</option>
</select>
</div>
</body>
</html>
.zc-html,
.zc-body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
.chart--container {
height: 100%;
width: 100%;
min-height: 530px;
}
.zc-ref {
display: none;
}
select {
margin: 10px;
}
// window:load event for Javascript to run after HTML
// because this Javascript is injected into the document head
window.addEventListener('load', () => {
let chartData = [{
id: 'theworld',
parent: '',
name: 'The World',
},
{
id: 'asia',
parent: 'theworld',
name: 'Asia',
value: 4100000000
},
{
id: 'africa',
parent: 'theworld',
name: 'Africa',
value: 1260000000
},
{
id: 'america',
parent: 'theworld',
name: 'America',
value: 328000000
},
{
id: 'europe',
parent: 'theworld',
name: 'Europe',
value: 741000000
},
{
id: 'ca',
parent: 'america',
name: 'California',
value: 32000000
},
{
id: 'ny',
parent: 'america',
name: 'New York',
value: 19000000
},
{
id: 'txt',
parent: 'america',
name: 'Texas',
value: 29000000
},
];
let chartConfig = {
type: 'tree',
options: {
link: {
aspect: 'arc'
},
maxSize: 15,
minSize: 5,
node: {
type: 'circle',
tooltip: {
padding: '8px 10px',
borderRadius: '3px',
}
}
},
series: chartData
};
zingchart.render({
id: 'myChart',
data: chartConfig,
height: '95%',
width: '100%',
output: 'canvas'
});
// change tree layout
document.getElementById('tree-aspect').addEventListener('change', function(e) {
chartConfig.options.aspect = e.srcElement.value;
zingchart.exec('myChart', 'setdata', {
data: chartConfig
});
});
// change tree connector
document.getElementById('tree-node').addEventListener('change', function(e) {
chartConfig.options.link.aspect = e.srcElement.value;
zingchart.exec('myChart', 'setdata', {
data: chartConfig
});
});
// change node type
document.getElementById('tree-node-shape').addEventListener('change', function(e) {
chartConfig.options.node.type = e.srcElement.value;
zingchart.exec('myChart', 'setdata', {
data: chartConfig
});
})
});