java利用插件echarts动态制作饼图

一:页面部分

     <div id="circle">
<div>
<span>男女分布比例图</span>
</div>
<div id="main1"
style="width: 600px; height: 400px; background-color: black;"></div>
</div>

<script type="text/javascript">
//男女饼图
var myChart1 = echarts.init(document.getElementById('main1'));
option1 = {
backgroundColor: '#ccc',//背景色
   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}
       }
   },
   calculable : true,
   series : [
       {
           name:'访问来源',
           type:'pie',
           radius : '55%',
           center: ['50%', '60%'],
           data:[
           ]
       }
   ]
};
myChart1.setOption(option1);
$.ajax({
url : "/echarts/sexPie",
type : "post",
dataType : "json",
success : function(result) {
if (result) {
myChart1.setOption({
series:[{
data:result
}]
});
}
}
});

</script>

二:代码部分

public void sexPie() {
Object obj = EchartsService.me.sexPie();
renderJson(JsonKit.toJson(obj));
}

public Object sexPie() {
String date = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
String begin = date + " 00:00:01";
String end = date + " 23:59:59";
String sql = "select sex name, count(*) value from sport_records s INNER JOIN users u on s.user_id=u.id  WHERE s.arrived_time>=? and s.arrived_time <=? GROUP BY sex";
List<Record> list = Db.find(sql, begin, end,);
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getInt("name") == 1) {
list.get(i).set("name", "男");
} else if (list.get(i).getInt("name") == 2) {
list.get(i).set("name", "女");
} else {
list.get(i).set("name", "未知");
}
}
return list;
}

三:返回数据

[{"name":"未知","value":34},{"name":"男","value":223},{"name":"女","value":125}]

四:效果图



  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值