接上一篇,我感觉hightCharts比eCharts好用,官方文档也贼6;
hightCharts官方文档地址:https://api.hcharts.cn/highcharts
感觉eCharts就是hightCharts的山寨,建议看不懂eCharts文档的可以先看hightCharts。
图片来源官方文档
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hightCharts使用</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> </head> <body> <div id="container" style="width:550px;height:400px;margin:0 auto;"></div> <script type="text/javascript"> $(document).ready(function(){ var title = { text: '月平均气温' } var subtitle = { text:'Source: runoob.com' } var xAxis = { categories: [ '一月', '二月', '三月', '四月', '五月', '六月' ,'七月', '八月', '九月', '十月', '十一月', '十二月' ] } var yAxis = { title: { text: 'tetxt' }, plotLines: [{ value:0, width:1, color:'#808080' }] }; var tooltip = { valueSuffix:'\xB0C' } var legend = { layout: 'vertical', align: 'right', verticalAlign: 'middle', borderWidth: 0 }; var series = [ { name: 'Tokyo', data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6] }, { name: 'New York', data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5] }, { name: 'Berlin', data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0] }, { name: 'London', data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8] } ]; var json = {}; json.title = title; json.subtitle = subtitle; json.xAxis = xAxis; json.yAxis = yAxis; json.tooltip = tooltip; json.legend = legend; json.series = series; $('#container').highcharts(json); }) </script> </body> </html>
效果图
下面就开始做3d图
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>hightCharts使用</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> <script src="http://code.highcharts.com/highcharts-3d.js"></script> </head> <body> <div id="container" style="width:550px;height:400px;margin:0 auto;"></div> <div id="sliders"> <table> <tr> <td>Alpha Angle</td> <td><input id="R0" type="range" min="0" max="45" value="15"/><span id="R0-value" class="value"></span></td> </tr> <tr> <td>Beta Angle</td> <td><input min="0" max="45" value="15" type="range" id="R1"><span id="R1-value" class="value"></span></td> </tr> </table> </div> <script type="text/javascript"> $(document).ready(function(){ var chart = { renderTo:'container', type:'column', margin:75, options3d: { enabled: true, //显示图表是否设置为3d,true就表示设置为3d alpha:15, //图表视图旋转角度 beta:15,//图表视图旋转角度 depth:50,//图表的合计深度,默认为100 viewDistance: 25 //定义图表的浏览长度 } }; var title = { text:'图表旋转实例' }; var subtitle = { text:'通过拖动下面的滑块测试' } var plotOptions = { column: { depth: 25 } }; var series= [{ data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4] }]; var json = {}; json.chart = chart; json.title = title; json.subtitle = subtitle; json.series = series; json.plotOptions = plotOptions; var highchart = new Highcharts.Chart(json); function showValues() { $('#R0-value').html(highchart.options.chart.options3d.alpha); $('#R1-value').html(highchart.options.chart.options3d.beta); } // Activate the sliders $('#R0').on('change', function () { highchart.options.chart.options3d.alpha = this.value; showValues(); highchart.redraw(false); }); $('#R1').on('change', function () { highchart.options.chart.options3d.beta = this.value; showValues(); highchart.redraw(false); }); showValues(); }) </script> </body> </html>
效果图
注意:因为是3d效果,我们必须引用highcharts-3d.js
下面是3d饼状图
<html> <head> <meta charset="UTF-8" /> <title>2018年春季招聘</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> <script src="http://code.highcharts.com/highcharts-3d.js"></script> </head> <body> <div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div> <script language="JavaScript"> $(document).ready(function() { var chart = { type: 'pie', options3d: { enabled: true, alpha: 45, beta: 0 } }; var title = { text: '2018 年春招各网站比例' }; var tooltip = { pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>' }; var plotOptions = { pie: { allowPointSelect: true, cursor: 'pointer', depth: 35, dataLabels: { enabled: true, format: '{point.name}' } } }; var series= [{ type: 'pie', name: 'Website', data: [ ['baidu', 45.0], ['360', 26.8], { name: 'google', y: 12.8, sliced: true, selected: true }, ['Sina', 8.5], ['bilibili', 6.2], ['wangyi', 0.7] ] }]; var json = {}; json.chart = chart; json.title = title; json.tooltip = tooltip; json.plotOptions = plotOptions; json.series = series; $('#container').highcharts(json); }); </script> </body> </html>
3d圆环图
<html> <head> <meta charset="UTF-8" /> <title>前端知识</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> <script src="http://code.highcharts.com/highcharts-3d.js"></script> </head> <body> <div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div> <script language="JavaScript"> $(document).ready(function() { var chart = { type: 'pie', options3d: { enabled: true, alpha: 45 } }; var title = { text: '前端知识比例' }; var subtitle = { text: 'Highcharts 3D圆环图' }; var plotOptions = { pie: { innerSize: 100, depth: 45 } }; var series= [{ name: '配送量', data: [ ['html,html5', 8], ['css,css3', 3], ['js', 1], ['jquery', 6], ['vue.js', 8], ['ajax', 4] ] }]; var json = {}; json.chart = chart; json.title = title; json.subtitle = subtitle; json.plotOptions = plotOptions; json.series = series; $('#container').highcharts(json); }); </script> </body> </html>
3d堆叠柱状图
<html> <head> <meta charset="UTF-8" /> <title>水果</title> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script src="http://code.highcharts.com/highcharts.js"></script> <script src="http://code.highcharts.com/highcharts-3d.js"></script> </head> <body> <div id="container" style="width: 550px; height: 400px; margin: 0 auto"></div> <script language="JavaScript"> $(document).ready(function() { var chart = { type: 'column', marginTop: 80, marginRight: 40, options3d: { enabled: true, alpha: 15, beta: 15, viewDistance: 25, depth: 40 } }; var title = { text: '水果总消费量,按类别分组' }; var xAxis = { categories: ['Apples', 'Oranges', 'Pears', 'Grapes', 'Bananas'] }; var yAxis = { allowDecimals: false, min: 0, title: { text: '水果数量' } }; var tooltip = { headerFormat: '<b>{point.key}</b><br>', pointFormat: '<span style="color:{series.color}">\u25CF</span> {series.name}: {point.y} / {point.stackTotal}' }; var plotOptions = { column: { stacking: 'normal', depth: 40 } }; var series= [{ name: 'John', data: [5, 3, 4, 7, 2], stack: 'male' }, { name: 'Joe', data: [3, 4, 4, 2, 5], stack: 'male' }, { name: 'Jane', data: [2, 5, 6, 2, 1], stack: 'female' }, { name: 'Janet', data: [3, 0, 4, 4, 3], stack: 'female' }]; var json = {}; json.chart = chart; json.title = title; json.xAxis = xAxis; json.yAxis = yAxis; json.tooltip = tooltip; json.plotOptions = plotOptions; json.series = series; $('#container').highcharts(json); }); </script> </body> </html>
这篇就到此为止,明天看动态图