<!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-body { background: #fff; } .chart--container { height: 100%; width: 100%; min-height: 530px; } .zc-ref { display: none; } </style> </head> <body class="zc-body"> <input id="sc" type="checkbox" /><label for="sc">Show only small cities</label> (up to <select id="maxpop" disabled="disabled"> <option value="100000">100.000</option> <option value="50000">50.000</option> <option value="10000">10.000</option> <option value="5000">5.000</option> <option value="1000">1.000</option> <option value="500">500</option> </select> people) <div id="myChart" class="chart--container"> <a href="https://www.zingchart.com/" rel="noopener" class="zc-ref">Powered by ZingChart</a> </div> <script nonce="undefined" src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/374756/fr_pop_2010.js'></script> <script> ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; let chartConfig = { type: 'null', backgroundColor: '#fff', flat: true, colorScale: { alpha: 0.8, aspect: 'gradient', backgroundColor: null, gradientStops: '0.0 0.4 0.6 0.7 0.8 1.0', gradientColors: 'rgba(0,0,255,0) #0000ff #00ffff #bfff00 #ffff00 #ff0000', }, heatmap: { alpha: 1, tooltip: { decimals: 0, thousandsSeparator: '.', text: '~ %value people' }, sortData: true, async: true, brushType: 'square', size: 3, blur: 1 }, tooltip: { callout: true, calloutPosition: 'bottom', calloutWidth: 10, calloutHeight: 6, fontSize: 11, padding: '5 10', }, shapes: [{ type: 'zingchart.maps', options: { id: 'mapmain', name: 'fra', scale: true, zooming: false, panning: false, scrolling: false, style: { flat: true, controls: { visible: false }, borderAlpha: 0.1, borderColor: '#fff', label: { overlap: false, text: '%long-text' }, hoverState: { visible: false, backgroundColor: 'none', shadowAlpha: 0.2, shadowDistance: 2, shadow: true, shadowColor: '#333' } } } }] }; zingchart.bind('myChart', 'load', function() { paintHeatmap(); }); window.paintHeatmap = function(iMax, bSmallBrush) { var aData = []; var iMaxPop = 0; for (var i = 0; i < FR_POP_2010.length; i++) { if (iMax && FR_POP_2010[i][2] > iMax) { continue; } var fLon = FR_POP_2010[i][0], fLat = FR_POP_2010[i][1], iPop = FR_POP_2010[i][2]; var aXY = zingchart.maps.getXY('mapmain', [fLon, fLat]); aData.push([aXY[0], aXY[1], iPop]); iMaxPop = Math.max(iMaxPop, iPop); } zingchart.exec('myChart', 'colorscale.update', { data: { maxValue: iMaxPop } }); var oCSInfo = zingchart.exec('myChart', 'colorscale.getinfo'); zingchart.exec('myChart', 'heatmap.setdata', { minValue: 0, maxValue: oCSInfo.max, data: aData, size: bSmallBrush ? 4 : 12, blur: bSmallBrush ? 0 : 6 }); } zingchart.bind('myChart', 'heatmap.mousemove', function(oInfo) { if (oInfo.value !== null) { zingchart.exec(oInfo.id, 'colorscale.setvalue', { graphid: oInfo.graphid, value: oInfo.value }); } else { zingchart.exec(oInfo.id, 'colorscale.clear', { graphid: oInfo.graphid }); } }); document.querySelector('#sc').addEventListener('click', function() { if (this.checked) { paintHeatmap(100000, true); let maxpopRef = document.querySelector('#maxpop'); maxpopRef.value = 100000; maxpopRef.removeAttribute('disabled') } else { paintHeatmap(); let maxpopRef = document.querySelector('#maxpop'); maxpopRef.setAttribute('disabled', 'disabled') } }); document.querySelector('#maxpop').addEventListener('change', function() { paintHeatmap(this.value, true); }); zingchart.loadModules('heatmap,color-scale,maps,maps-fra', function() { zingchart.render({ id: 'myChart', width: 600, height: 600, output: 'canvas', data: chartConfig, modules: 'heatmap,color-scale' }); }); </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"> <input id="sc" type="checkbox" /><label for="sc">Show only small cities</label> (up to <select id="maxpop" disabled="disabled"> <option value="100000">100.000</option> <option value="50000">50.000</option> <option value="10000">10.000</option> <option value="5000">5.000</option> <option value="1000">1.000</option> <option value="500">500</option> </select> people) <div id="myChart" class="chart--container"> <a href="https://www.zingchart.com/" rel="noopener" class="zc-ref">Powered by ZingChart</a> </div> <script src='https://s3-us-west-2.amazonaws.com/s.cdpn.io/374756/fr_pop_2010.js'></script> </body> </html>
.zc-body { background: #fff; } .chart--container { height: 100%; width: 100%; min-height: 530px; } .zc-ref { display: none; }
let chartConfig = { type: 'null', backgroundColor: '#fff', flat: true, colorScale: { alpha: 0.8, aspect: 'gradient', backgroundColor: null, gradientStops: '0.0 0.4 0.6 0.7 0.8 1.0', gradientColors: 'rgba(0,0,255,0) #0000ff #00ffff #bfff00 #ffff00 #ff0000', }, heatmap: { alpha: 1, tooltip: { decimals: 0, thousandsSeparator: '.', text: '~ %value people' }, sortData: true, async: true, brushType: 'square', size: 3, blur: 1 }, tooltip: { callout: true, calloutPosition: 'bottom', calloutWidth: 10, calloutHeight: 6, fontSize: 11, padding: '5 10', }, shapes: [{ type: 'zingchart.maps', options: { id: 'mapmain', name: 'fra', scale: true, zooming: false, panning: false, scrolling: false, style: { flat: true, controls: { visible: false }, borderAlpha: 0.1, borderColor: '#fff', label: { overlap: false, text: '%long-text' }, hoverState: { visible: false, backgroundColor: 'none', shadowAlpha: 0.2, shadowDistance: 2, shadow: true, shadowColor: '#333' } } } }] }; zingchart.bind('myChart', 'load', function() { paintHeatmap(); }); window.paintHeatmap = function(iMax, bSmallBrush) { var aData = []; var iMaxPop = 0; for (var i = 0; i < FR_POP_2010.length; i++) { if (iMax && FR_POP_2010[i][2] > iMax) { continue; } var fLon = FR_POP_2010[i][0], fLat = FR_POP_2010[i][1], iPop = FR_POP_2010[i][2]; var aXY = zingchart.maps.getXY('mapmain', [fLon, fLat]); aData.push([aXY[0], aXY[1], iPop]); iMaxPop = Math.max(iMaxPop, iPop); } zingchart.exec('myChart', 'colorscale.update', { data: { maxValue: iMaxPop } }); var oCSInfo = zingchart.exec('myChart', 'colorscale.getinfo'); zingchart.exec('myChart', 'heatmap.setdata', { minValue: 0, maxValue: oCSInfo.max, data: aData, size: bSmallBrush ? 4 : 12, blur: bSmallBrush ? 0 : 6 }); } zingchart.bind('myChart', 'heatmap.mousemove', function(oInfo) { if (oInfo.value !== null) { zingchart.exec(oInfo.id, 'colorscale.setvalue', { graphid: oInfo.graphid, value: oInfo.value }); } else { zingchart.exec(oInfo.id, 'colorscale.clear', { graphid: oInfo.graphid }); } }); document.querySelector('#sc').addEventListener('click', function() { if (this.checked) { paintHeatmap(100000, true); let maxpopRef = document.querySelector('#maxpop'); maxpopRef.value = 100000; maxpopRef.removeAttribute('disabled') } else { paintHeatmap(); let maxpopRef = document.querySelector('#maxpop'); maxpopRef.setAttribute('disabled', 'disabled') } }); document.querySelector('#maxpop').addEventListener('change', function() { paintHeatmap(this.value, true); }); zingchart.loadModules('heatmap,color-scale,maps,maps-fra', function() { zingchart.render({ id: 'myChart', width: 600, height: 600, output: 'canvas', data: chartConfig, modules: 'heatmap,color-scale' }); });