1. 程式人生 > >ECharts之餅圖和柱形圖demo

ECharts之餅圖和柱形圖demo

www. 操作 orm 成功 rest dom jquer oos mat

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>渠道分析</title>
<script type="text/javascript" src="js/echarts.js"></script>
<script type="text/javascript" src="js/jquery-2.2.4.js"></script>
</head>
<body>
	<!--  為 ECharts 準備一個具備大小(寬高)的 DOM 餅形圖 -->
	<div id="main" style="width: 600px; height: 400px;"></div>
	<script type="text/javascript">
		var myChart = echarts.init(document.getElementById(‘main‘));
		myChart.setOption({
			title : {
				text : ‘充值渠道分析‘,
				x : ‘center‘
			},
			tooltip : {
				trigger : ‘item‘,
				formatter : "{a} <br />{b} : {c} ({d}%)"
			},
			legend : {
				orient : ‘vertical‘,
				x : ‘left‘,
				data : []
			},
			toolbox: {  
	            show : true,  
	            feature : {  
	                mark : {show: true},  
	                dataView : {show: true, readOnly: false},  
	                magicType : {  
	                    show: true,   
	                    type: [‘pie‘, ‘funnel‘],  
	                    option: {  
	                        funnel: {  
	                            x: ‘25%‘,  
	                            width: ‘50%‘,  
	                            funnelAlign: ‘left‘,  
	                            max: 1548  
	                        }  
	                    }  
	                },  
	                restore : {show: true},  
	                saveAsImage : {show: true}  
	            }  
	        },
			series : [ {
				name : ‘‘,
				type : ‘pie‘,
				radius : ‘55%‘,
				center : [ ‘50%‘, ‘60%‘ ],
				data : []
			} ]
		});
		myChart.showLoading(); //數據加載完之前先顯示一段簡單的loading動畫
		var names = []; //類別數組
		var nums = []; //數量數組
		var array = [];
		$.ajax({
			type : "post",
			url : "/api/payment/showEChartsData",
			data : {},
			cache : false, //禁用緩存  
			dataType : "json",
			success : function(result) {
				//請求成功時執行該函數內容,result即為服務器返回的json對象
				if (result) {
					for (var i = 0; i < result.length; i++) {
						names.push(result[i].channelName); //挨個取出類別並填入類別數組
					}
					for (var i = 0; i < result.length; i++) {
						nums.push(result[i].num); //挨個取出銷量並填入銷量數組
					}
					for (var i = 0; i < result.length; i++) {
						var map ={};
						map.name = result[i].channelName;
						map.value = result[i].num;
						array[i]=map;
					}
					myChart.hideLoading(); //隱藏加載動畫
					myChart.setOption({ //加載數據圖表  
						legend : {
							data : names
						},
						series : {
							// 根據名字對應到相應的系列  
							name : [‘數量‘],
							data : array
						}
					});
				}
			},
			error : function(errorMsg) {
				//請求失敗時執行該函數
				alert("圖表請求數據失敗!");
				myChart.hideLoading();
			}
		});
	</script>
</body>
</html>

  

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="zh-CN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>渠道分析</title>
<script type="text/javascript" src="js/echarts.js"></script>
<script type="text/javascript" src="js/jquery-2.2.4.js"></script>
</head>
<body>
	<div id="main" style="width: 600px; height: 400px;"></div>
	<script type="text/javascript">
		var myChart = echarts.init(document.getElementById(‘main‘));
		// 顯示標題,圖例和空的坐標軸
		myChart.setOption({
			title : {
				text : ‘充值渠道分析‘
			},
			tooltip : {},
			legend : {
				data : [ ‘數量‘ ]
			},
			xAxis : {
				data : []
			},
			yAxis : {},
			series : [ {
				name : ‘數量‘,
				type : ‘bar‘,
				data : []
			} ]
		});
		myChart.showLoading(); //數據加載完之前先顯示一段簡單的loading動畫
		var names = []; //類別數組(實際用來盛放X軸坐標值)
		var nums = []; //銷量數組(實際用來盛放Y坐標值)
		$.ajax({
			type : "post",
			async : true, //異步請求(同步請求將會鎖住瀏覽器,用戶其他操作必須等待請求完成才可以執行)
			url : "/api/payment/showEChartsData", //請求發送到TestServlet處
			data : {},
			dataType : "json", //返回數據形式為json
			success : function(result) {
				//請求成功時執行該函數內容,result即為服務器返回的json對象
				if (result) {
					for (var i = 0; i < result.length; i++) {
						names.push(result[i].channelName); //挨個取出類別並填入類別數組
					}
					for (var i = 0; i < result.length; i++) {
						nums.push(result[i].num); //挨個取出銷量並填入銷量數組
					}
					myChart.hideLoading(); //隱藏加載動畫
					myChart.setOption({ //加載數據圖表
						xAxis : {
							data : names
						},
						series : [ {
							// 根據名字對應到相應的系列
							name : ‘數量‘,
							data : nums
						} ]
					});
				}
			},
			error : function(errorMsg) {
				//請求失敗時執行該函數
				alert("圖表請求數據失敗!");
				myChart.hideLoading();
			}
		})
	</script>
</body>
</html>

  

ECharts之餅圖和柱形圖demo