最近看見別人問的問題,點擊雷達圖的拐點,獲取點擊數據的問題,直接上代碼。 echarts配置問題:https://www.douban.com/note/509404582/ 還有一個就是給雷達圖的文字綁定點擊事件,上代碼。api地址:http://echarts.baidu.com/tutoria ...
最近看見別人問的問題,點擊雷達圖的拐點,獲取點擊數據的問題,直接上代碼。
echarts配置問題:https://www.douban.com/note/509404582/
<!doctype html> <html lang="us"> <head> <meta charset="utf-8"> <title></title> <script src="http://echarts.baidu.com/build/dist/echarts.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> </body> </html> <script> //配置圖表路徑 require.config({ paths:{ echarts:'http://echarts.baidu.com/build/dist' } }); //載入圖表js文件 require( [ 'echarts', 'echarts/chart/radar', //要什麼圖表類型配置什麼類型 ], function (ec){ //基於準備好的dom,初始化echarts圖表 var myChart= ec.init(document.getElementById('main')); var option = { polar: [{ indicator: [ { text: '銷售', max: 6500}, { text: '管理', max: 16000}, { text: '信息技術', max: 30000}, { text: '客服', max: 38000}, { text: '研發', max: 52000}, { text: '市場', max: 25000} ] }], series: [{ name: "", type: "radar", data: [{ value: [4300, 10000, 28000, 35000, 50000, 19000], name: "預算分配" }], itemStyle: { normal: { color: "#1DBB37" } } },{ name: "", type: "radar", data: [{ value: [5000, 14000, 28000, 31000, 42000, 21000], name: "實際開銷" }], itemStyle: { normal: { color: "rgb(51, 153, 254)" } } } ], }; var ecConfig = require('echarts/config'); myChart.on(ecConfig.EVENT.CLICK,function(param){ //點擊後執行操作 alert(param.name) }); myChart.setOption(option); }); </script>
還有一個就是給雷達圖的文字綁定點擊事件,上代碼。api地址:http://echarts.baidu.com/tutorial.html#ECharts%20%E4%B8%AD%E7%9A%84%E4%BA%8B%E4%BB%B6%E5%92%8C%E8%A1%8C%E4%B8%BA
註意triggerEvent屬性的設置。
<!doctype html> <html lang="us"> <head> <meta charset="utf-8"> <title></title> <script src="echarts.min.js"></script> </head> <body> <div id="main" style="width: 600px;height:400px;"></div> </body> </html> <script> //綁定元素 var myChart = echarts.init(document.getElementById('main')); option = { title: { text: '基礎雷達圖' }, radar: { indicator: [ { name: '銷售', max: 6500}, { name: '管理', max: 16000}, { name: '信息技術', max: 30000}, { name: '客服', max: 38000}, { name: '研發', max: 52000}, { name: '市場', max: 25000} ], name:{ formatter:function(v){ console.log(v); return v; } }, triggerEvent:true }, series: [{ name: '預算vs開銷', type: 'radar', data : [ { value : [4300, 10000, 28000, 35000, 50000, 19000], name : '預算分配' }, { value : [5000, 14000, 28000, 31000, 42000, 21000], name : '實際開銷' } ] }] }; //繪製圖表 myChart.setOption(option); //添加點擊事件 myChart.on('click', function (params) { console.log(params) alert(params.name) if(params.name=="研發"){ //判斷點擊文字 alert("aaa") } }) </script>
params的返回值
個人覺得echarts的文檔和功能還不太豐富,highcherts也是一個不錯的選擇。
highcharts雷達圖(highcharts叫蜘蛛圖),案例鏈接:https://www.hcharts.cn/demo/highcharts/polar-spider
<!doctype html> <html lang="us"> <head> <meta charset="utf-8"> <title></title> </head> <body> <div id="main" style="height:400px;"></div> </body> </html> <script src="jquery.js"></script> <script src="highcharts.min.js"></script> <script src="highcharts-more.js"></script> <script> $(function () { Highcharts.chart('main', { chart: { polar: true //圖表類型 }, xAxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] }, plotOptions: { //數據配置項 series: { cursor: 'pointer', point: { events: { click: function () { alert(this.category); } } } } }, 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] }] }); }); </script>
highcharts有一個問題,文件體積比較大,如果圖表使用的地方比較少,功能要求不高時,建議不使用,性能差點。