ECharts南丁格尔玫瑰图 + Ajax 动态展示

ECharts南丁格尔玫瑰图 + Ajax 动态展示


不说太多话——直接上菜

首先引用 echarts 的 js

<script src="echarts/echarts.js"></script>

在页面设置 div 不要忘记设置宽高

#main {
          width: 660px;
            height: 500px;
}
<div id="main" ></div>
准备好了 正式开始
 <script type="text/javascript">
    	var demolist= {};
    	$(document).ready(function() {
    	// 基于准备好的dom,初始化echarts实例
    	demolist.myChart = echarts.init(document.getElementById('main'));
    	// 指定图表的配置项和数据
    	option = {
    		    title : {
    		        text: '南丁格尔玫瑰图',
    		        x:'center'
    		    },
    		    tooltip : {
    		        trigger: 'item',
    		        formatter: "{a} <br/>{b} : {c} ({d}%)"
    		    },
    		    legend: {
    		        x : 'center',
    		        y : 'bottom',
    		        data:[]
    		    },
    		    toolbox: {
    		        show : true,
    		        feature : {
    		            mark : {show: true},
    		            dataView : {show: true, readOnly: false},
    		            magicType : {
    		                show: true,
    		                type: ['pie', 'funnel']
    		            },
    		            restore : {show: true},
    		            saveAsImage : {show: true}
    		        }
    		    },
    		    calculable : true,
    		    series : [
    		        {
    		            name:'面积模式',
    		            type:'pie',
    					//调节图形大小
    		            radius : [50, 150],
    		            roseType : 'area',
    		            data:[
    		                {value:[], name:[]}
    		            ]
    		        }
    		    ]
    		};
    	
    	// 使用刚指定的配置项和数据显示图表。
    	demolist.myChart.setOption(option);
    	demolist.demoSList(); 
    	});
    	//ajax刷新ecahrts数据
    	demolist.followSList = function() {
    		demolist.myChart.showLoading({
    		    effect : 'ring'
    		});
    		$.ajax({
    			type : "post",
    			async : true,
    			url : "demo/list",
    			data : {
    				"label":$('#label').val(),
    				"value":$('#value').val()
    			},
    			dataType : "json",
    			success : function(result) {
    				demolist.myChart.hideLoading();
    				demolist.setEchartsValue(result,demolist.myChart);
    				myMask3.remove();
    			}
    		});
    	}
    	
    	/**
    	*	计算echarts结果数据
    	*	result 后台ajax返回的结果      obj:echarts对象
    	*/
    	demolist.setEchartsValue=function(result,obj){
    		var label = [];
    		var value = [];
    		
    		if (result) {
    			var ytotal = 0;
    			for (var i = 0; i < result.length; i++) {
    				label.push(result[i].label);
    				value.push(result[i].value);
    			}
    			obj.setOption({	
    				legend: {
    			        x : 'center',
    			        y : 'bottom',
    			        data:label
    			    },
    			    series : [
    			        {
    			            name:'面积模式',
    			            type:'pie',
    			            radius : [50, 150],
    			            roseType : 'area',
    			            data:(function(){
    			            	var res = [];
    		                    var len = result.length;
    		                        for(var i=0,size=len;i<size;i++) {
    		                         res.push({
    		                             //通过把result进行遍历循环来获取数据并放入Echarts中
    		                             name: result[i].label,
    		                             value: result[i].value
    		                         });
    		                        }
    		                        return res;
    		                })()
    			        }
    			    ]
    		});
    		}
    	}
    </script>


成果图

在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值