<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ZingGrid: Blank Grid</title> <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script> <style> html, body { height: 100%; width: 100%; margin: 0; padding: 0; } .chart--container { height: 100%; width: 100%; min-height: 150px; } .zc-ref { display: none; } </style> </head> <body> <!-- CHART CONTAINER --> <div id="myChart" class="chart--container"> <a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a> </div> <script> ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; function fetchAndRenderPlot(plotIndex) { // fetch the remote configurations and render them in // succession fetch(`https://cdn.zingchart.com/datasets/remote-data-plot${plotIndex}.json`) .then(res => { return res.json(); }) .then(results => { // use addplot to instantiate the chart data zingchart.exec('myChart', 'addplot', { plotindex: plotIndex, data: results }); }) .catch(e => { // let the user know there was an error zingchart.exec('myChart', 'update', { data: { noData: { text: 'Error Fetching remote data, please refresh page.' } } }); }); } // window:load event for Javascript to run after HTML // because this Javascript is injected into the document head window.addEventListener('load', () => { // Javascript code to execute after DOM content const myConfig = { type: 'bar', title: { text: 'Data Basics - Remote Data Async Plots', fontSize: 24, }, legend: { draggable: true, }, scaleX: { // set scale label label: { text: 'Days' }, // convert text on scale indices labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, scaleY: { // scale label with unicode character label: { text: 'Temperature (°F)' } }, scaleY2: { // scale label with unicode character label: { text: 'Temperature (°C)' } }, plot: { // animation docs here: // https://www.zingchart.com/docs/tutorials/design-and-styling/chart-animation/#animation__effect animation: { effect: 'ANIMATION_EXPAND_BOTTOM', method: 'ANIMATION_STRONG_EASE_OUT', sequence: 'ANIMATION_BY_NODE', speed: 275, }, valueBox: { placement: 'top', }, }, noData: { text: 'Fetching remote data...', backgroundColor: '#eeeeee', fontSize: 18 }, // the commented out data is the series (data) // objects we are fetching remotely (indvidually) series: [ /* { values: [23,20,27,29,25,17,15], text: 'Week 1', }, { values: [35,42,33,49,35,47,35], text: 'Week 2' }, { values: [15,22,13,33,44,27,31], text: 'Week 3' } */ ] }; // render chart with width and height to // fill the parent container CSS dimensions zingchart.render({ id: 'myChart', data: myConfig, height: '100%', width: '100%' }); // fetch plots. Use setTimeout to simulate network instability fetchAndRenderPlot(1); setTimeout(() => { fetchAndRenderPlot(2); }, 1200); setTimeout(() => { fetchAndRenderPlot(3); }, 3500); }); </script> </body> </html>
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ZingGrid: Blank Grid</title> <script src="https://cdn.zingchart.com/zingchart.min.js"></script> </head> <body> <!-- CHART CONTAINER --> <div id="myChart" class="chart--container"> <a class="zc-ref" href="https://www.zingchart.com">Powered by ZingChart</a> </div> </body> </html>
html, body { height: 100%; width: 100%; margin: 0; padding: 0; } .chart--container { height: 100%; width: 100%; min-height: 150px; } .zc-ref { display: none; }
function fetchAndRenderPlot(plotIndex) { // fetch the remote configurations and render them in // succession fetch(`https://cdn.zingchart.com/datasets/remote-data-plot${plotIndex}.json`) .then(res => { return res.json(); }) .then(results => { // use addplot to instantiate the chart data zingchart.exec('myChart', 'addplot', { plotindex: plotIndex, data: results }); }) .catch(e => { // let the user know there was an error zingchart.exec('myChart', 'update', { data: { noData: { text: 'Error Fetching remote data, please refresh page.' } } }); }); } // window:load event for Javascript to run after HTML // because this Javascript is injected into the document head window.addEventListener('load', () => { // Javascript code to execute after DOM content const myConfig = { type: 'bar', title: { text: 'Data Basics - Remote Data Async Plots', fontSize: 24, }, legend: { draggable: true, }, scaleX: { // set scale label label: { text: 'Days' }, // convert text on scale indices labels: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] }, scaleY: { // scale label with unicode character label: { text: 'Temperature (°F)' } }, scaleY2: { // scale label with unicode character label: { text: 'Temperature (°C)' } }, plot: { // animation docs here: // https://www.zingchart.com/docs/tutorials/design-and-styling/chart-animation/#animation__effect animation: { effect: 'ANIMATION_EXPAND_BOTTOM', method: 'ANIMATION_STRONG_EASE_OUT', sequence: 'ANIMATION_BY_NODE', speed: 275, }, valueBox: { placement: 'top', }, }, noData: { text: 'Fetching remote data...', backgroundColor: '#eeeeee', fontSize: 18 }, // the commented out data is the series (data) // objects we are fetching remotely (indvidually) series: [ /* { values: [23,20,27,29,25,17,15], text: 'Week 1', }, { values: [35,42,33,49,35,47,35], text: 'Week 2' }, { values: [15,22,13,33,44,27,31], text: 'Week 3' } */ ] }; // render chart with width and height to // fill the parent container CSS dimensions zingchart.render({ id: 'myChart', data: myConfig, height: '100%', width: '100%' }); // fetch plots. Use setTimeout to simulate network instability fetchAndRenderPlot(1); setTimeout(() => { fetchAndRenderPlot(2); }, 1200); setTimeout(() => { fetchAndRenderPlot(3); }, 3500); });