slides/webgl/asset/ec-demo2/bar3D-dof.html (109 lines of code) (raw):

<!doctype html> <html> <head> <meta charset="utf-8"> <title>Bar 3D - ECHARTS-GL</title> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <!-- Fullscreen Landscape on iOS --> <link rel="stylesheet" href="../common/reset.css"> </head> <body> <div id="main"></div> <script src="../common/echarts.min.js"></script> <script src="../common/map/js/world-simp.js"></script> <script src="../common/jquery.min.js"></script> <script src="../common/echarts-gl.js"></script> <script> var chart = echarts.init(document.getElementById('main')); $.getJSON('../data/population.json', function (data) { data = data.filter(function (dataItem) { return dataItem[2] > 0; }).map(function (dataItem) { return [dataItem[0], dataItem[1], Math.sqrt(dataItem[2])]; }); chart.setOption({ backgroundColor: '#cdcfd5', geo3D: { map: 'world-simp', shading: 'lambert', light: { main: { intensity: 5, shadow: true, shadowQuality: 'high', alpha: 30 }, ambient: { intensity: 0 }, ambientCubemap: { texture: '../texture/canyon.hdr', exposure: 2, diffuseIntensity: 1 } }, viewControl: { distance: 50 }, groundPlane: { show: true, color: '#999' }, postEffect: { enable: true, bloom: { enable: false }, SSAO: { radius: 1, intensity: 1, enable: true, quality: 'high' }, depthOfField: { enable: true, focalRange: 10, blurRadius: 5, fstop: 1 } }, temporalSuperSampling: { enable: true }, itemStyle: { }, boxHeight: 10, regionHeight: 2 }, visualMap: { max: 40, calculable: true, realtime: false, inRange: { color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026'] }, outOfRange: { colorAlpha: 0 } }, series: [{ type: 'bar3D', coordinateSystem: 'geo3D', shading: 'lambert', data: data, barSize: 0.1, minHeight: 0.2, silent: true, itemStyle: { color: 'orange' // opacity: 0.8 } }] }); }); window.addEventListener('resize', function () { chart.resize(); }); </script> </body> </html>