echarts雷達圖點擊事件

来源:http://www.cnblogs.com/sk-3/archive/2017/04/06/6673598.html
-Advertisement-
Play Games

最近看見別人問的問題,點擊雷達圖的拐點,獲取點擊數據的問題,直接上代碼。 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有一個問題,文件體積比較大,如果圖表使用的地方比較少,功能要求不高時,建議不使用,性能差點。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • nvm 是 windows 下切換 node 版本的管理工具,mac 下可以使用 TJ 寫的 n 。 1、https://github.com/coreybutler/nvm-windows/releases,圖示點擊下載 2、點擊安裝,預設配置即可,win開始菜單會生成一個 3、命令行cmd進入, ...
  • 一、 SVG animation元素 1. set set雖然不能觸發連續的動畫,但是,其還是可以實現基本的延遲功能。就是指:可以在特定時間之後修改某個屬性值(也可以是CSS屬性值)。 2. animate 基礎動畫元素。實現單屬性的動畫過渡效果。類似Snap.svg的animate()方法支持的動 ...
  • .vue文件跟小程式的.wxml,.wxss用sublime的HTML/CSS/JS prettify插件也可以實現格式化代碼的效果 首先你在sublime要已經安裝好了HTML/CSS/JS prettify插件 preferences=>Package settings=>HTML/CSS/JS ...
  • 最近學習cooking構建工具的時候,在自己的筆記本上運行的好好的,項目在公司電腦上clone下來的時候,發現構建報錯,逐條查錯,試了好多方法也不行 最後在github上找到了答案,只是之前一直沒找到中文答案,搜了好久,英文差真是不行啊 報錯信息為: error MSB4132: The tools ...
  • ...
  • 前端開發中,在做前後端分離的時候,經常需要手寫json數據,有3個問題特別揪心: 1,數據是寫死的,不能按一定的條件隨機生成長度不一,內容不一的數據 2,寫數組的時候,如果有很多條,需要一條一條地寫,費時費力 3,mock圖片特別困難 randomjson用來根據模型隨機生成json,mock js ...
  • ready()、DOM對象、jQuery對象、DOM對象與jQuery對象的相互轉換 ...
  • 上一篇講到局部變數可以修改全局變數,那麼反過來是否可以由外而內的拿到函數內的數據呢?答案是可以的下麵就介紹兩種方法。 1、通過聲明全局變數的方式: 執行結果 要由外而內的進行操作需要先聲明一個全局變數,然後通過給全局變數賦值的形式進行。 2、局部變數的調用 由外而內的進行操作也可以通過局部變數的調用 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...