echarts數據過小無法點擊

本文參考https://blog.csdn.net/lightpass/article/details/81457410
源碼下載 https://pan.baidu.com/s/1b858a-r34PPJv5o2qzj9Fg
提取碼:a072
在這裏插入圖片描述
參考代碼(注意:jquery版本,echarts版本會有差異,推薦上方源碼下載)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>Echarts數據少無法點擊</title>
	</head>
	<body>
		
		<div id="echarts_test" style="width:600px;height:400px;border: 1px solid red;"></div>
		
	</body>
	
	<script src="js/jquery-2.1.4.min.js" type="text/javascript" charset="utf-8"></script>
	<script src="js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
	<script type="text/javascript">
		//初始化容器,顯示loading
		var myChart = echarts.init(document.getElementById('echarts_test'), 'green');
		echarts_init(myChart);
		
		//等待1秒後,賦值數據,並監聽點擊事件
		var data1 = ["張三", "李四", "王二", "李芳", "張強", "麻子", "宋強", "王五"];
		var data2 = [16, 114, 197, 435, 754, 1170, 2080, 2394];
		setTimeout(function(){
			echarts_setdata(myChart, data1, data2);
			echarts_click_monitor();
		}, 1000);
		
		function echarts_init(myChart){
			var option = {};
			myChart.setOption(option, true);
			myChart.showLoading();
		}
		function echarts_setdata(myChart, data1, data2){
			var option = {
				title: {
					text: 'Echarts數據測試',
					x:'center'
				},
				color: ["#FFC000"],
				tooltip: {
					trigger: 'axis',
					axisPointer: {
						type: 'shadow'
					}
				},
				grid: {
					left: '3%',
					right: '4%',
					bottom: '3%',
					containLabel: true
				},
				xAxis: {
					type: 'value',
					boundaryGap: [0, 0.01]
				},
				yAxis: {
					type: 'category',
					data: data1
				},
				series: [
					{
						name: '總數',
						type: 'bar',
						label: {
							normal: {
								position: 'right',
								show: true
							}
						},
						data: data2
					}
				]
			};
			myChart.hideLoading();
			myChart.setOption(option); 
		}
		function echarts_click_monitor(){
			myChart.getZr().off('click');
			myChart.getZr().on('click',function (params) {
				var pointInPixel= [params.offsetX, params.offsetY];
				if (myChart.containPixel('grid',pointInPixel)) {
					/*單擊圖標X軸數據,打開詳情*/
				    var xIndex = myChart.convertFromPixel({seriesIndex:0},pointInPixel)[1];
					alert("下標:"+xIndex+"\n名稱:"+data1[xIndex]+"\n總數:"+data2[xIndex]);
				}
			});
			
			/*圖標內,鼠標變成'可點擊小手'*/
			myChart.getZr().on('mousemove',function (params) {
				var pointInPixel= [params.offsetX, params.offsetY];
				if (myChart.containPixel('grid',pointInPixel)) {
					myChart.getZr().setCursorStyle('pointer');
				};
			});
		}
	</script>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章