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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...