- <!DOCTYPE html>
- <html>
-
- <head>
- <meta charset="utf-8">
- <title>ZingSoft Demo</title>
-
- <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script>
- <style>
- html,
- body {
- height: 100%;
- width: 100%;
- margin: 0;
- padding: 0;
- }
-
- #myChart {
- height: 100%;
- width: 100%;
- min-height: 150px;
- }
-
- .zc-ref {
- display: none;
- }
-
- #myChart button {
- position: absolute;
- top: 15px;
- left: 10px;
- z-index: 1000;
- }
- </style>
- </head>
-
- <body>
- <div id="myChart">
- <a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a>
- <button onclick="window.parent.location.reload()">Reload Data</button>
- </div>
- <script>
- ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; // make the AJAX request
- var oReq = new XMLHttpRequest();
- oReq.addEventListener("load", renderFirstPlotInChart);
- oReq.open("GET", "https://zingchart-rest-api.glitch.me/api/data/plot/v1");
- oReq.send();
-
- // define chart JSON
- var myConfig = {
- type: 'bar',
- title: {
- text: 'Multiple Plots Rendering Asynchronously Using API',
- mediaRules: [{
- maxWidth: 500,
- visible: false
- }]
- },
- plot: {
- // barWidth: 25, // this will prevent users from noticing the barwidth changing
- animation: {}, // add animation to make the chart look alive
- },
- legend: {},
- scaleY: {
- values: '0:300:100' // this will prevent users from noticing the scale repaint
- },
- series: [{
- values: [],
- text: '',
- }]
- };
-
- /*
- * callback for GET request is when we will render the chart
- */
- function renderFirstPlotInChart() {
- myConfig.series[0].values = JSON.parse(this.responseText);
- myConfig.series[0].text = this.responseURL.slice(-2);
- zingchart.render({
- id: 'myChart',
- data: myConfig,
- height: '100%',
- width: '100%'
- });
- }
-
- /*
- * append the plots using ZingChart API method addplot
- * https://www.zingchart.com/docs/api/methods/#zingchart__exec__api__addplot
- */
- function addAnotherPlot() {
- zingchart.exec('myChart', 'addplot', {
- data: {
- values: JSON.parse(this.responseText),
- text: this.responseURL.slice(-2)
- }
- });
- }
- /*
- * Bind plots after the chart has rendered
- */
- zingchart.bind('myChart', 'load', function(e) {
-
- /*
- * make AJAX request for the last two plots
- * Use setTimeouts to show what the effect
- * would look like when using large dataset
- */
- setTimeout(function() {
-
- // call for second dataset
- oReq = new XMLHttpRequest();
- oReq.addEventListener("load", addAnotherPlot);
- oReq.open("GET", "https://zingchart-rest-api.glitch.me/api/data/plot/v2");
- oReq.send();
-
- // call for third dataset
- setTimeout(function() {
- oReq = new XMLHttpRequest();
- oReq.addEventListener("load", addAnotherPlot);
- oReq.open("GET", "https://zingchart-rest-api.glitch.me/api/data/plot/v3");
- oReq.send();
- }, 1000);
-
- }, 2000);
- });
- </script>
- </body>
-
- </html>
- <!DOCTYPE html>
- <html>
-
- <head>
- <meta charset="utf-8">
- <title>ZingSoft Demo</title>
-
- <script src="https://cdn.zingchart.com/zingchart.min.js"></script>
- </head>
-
- <body>
- <div id="myChart">
- <a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a>
- <button onclick="window.parent.location.reload()">Reload Data</button>
- </div>
- </body>
-
- </html>
- html,
- body {
- height: 100%;
- width: 100%;
- margin: 0;
- padding: 0;
- }
-
- #myChart {
- height: 100%;
- width: 100%;
- min-height: 150px;
- }
-
- .zc-ref {
- display: none;
- }
-
- #myChart button {
- position: absolute;
- top: 15px;
- left: 10px;
- z-index: 1000;
- }
- // make the AJAX request
- var oReq = new XMLHttpRequest();
- oReq.addEventListener("load", renderFirstPlotInChart);
- oReq.open("GET", "https://zingchart-rest-api.glitch.me/api/data/plot/v1");
- oReq.send();
-
- // define chart JSON
- var myConfig = {
- type: 'bar',
- title: {
- text: 'Multiple Plots Rendering Asynchronously Using API',
- mediaRules: [{
- maxWidth: 500,
- visible: false
- }]
- },
- plot: {
- // barWidth: 25, // this will prevent users from noticing the barwidth changing
- animation: {}, // add animation to make the chart look alive
- },
- legend: {},
- scaleY: {
- values: '0:300:100' // this will prevent users from noticing the scale repaint
- },
- series: [{
- values: [],
- text: '',
- }]
- };
-
- /*
- * callback for GET request is when we will render the chart
- */
- function renderFirstPlotInChart() {
- myConfig.series[0].values = JSON.parse(this.responseText);
- myConfig.series[0].text = this.responseURL.slice(-2);
- zingchart.render({
- id: 'myChart',
- data: myConfig,
- height: '100%',
- width: '100%'
- });
- }
-
- /*
- * append the plots using ZingChart API method addplot
- * https://www.zingchart.com/docs/api/methods/#zingchart__exec__api__addplot
- */
- function addAnotherPlot() {
- zingchart.exec('myChart', 'addplot', {
- data: {
- values: JSON.parse(this.responseText),
- text: this.responseURL.slice(-2)
- }
- });
- }
- /*
- * Bind plots after the chart has rendered
- */
- zingchart.bind('myChart', 'load', function(e) {
-
- /*
- * make AJAX request for the last two plots
- * Use setTimeouts to show what the effect
- * would look like when using large dataset
- */
- setTimeout(function() {
-
- // call for second dataset
- oReq = new XMLHttpRequest();
- oReq.addEventListener("load", addAnotherPlot);
- oReq.open("GET", "https://zingchart-rest-api.glitch.me/api/data/plot/v2");
- oReq.send();
-
- // call for third dataset
- setTimeout(function() {
- oReq = new XMLHttpRequest();
- oReq.addEventListener("load", addAnotherPlot);
- oReq.open("GET", "https://zingchart-rest-api.glitch.me/api/data/plot/v3");
- oReq.send();
- }, 1000);
-
- }, 2000);
- });