echarts中将后台的json数据放入data属性

本实例是关于百度地图插件展示统计数据的,echarts中要处理后台传过来的json类型的数据:

  • 后台的封装json代码片段
代码块

java代码:


Map<String, Object> map = new HashMap<String, Object>();
        map.put("name","河南");
        map.put("value",2000);
        List list=new ArrayList();
        list.add(map);

        /*map = new HashMap<String, Object>();
        map.put("name","河北");
        map.put("value",2400);
        list.add(map);*/
        request.setAttribute("mapDataJson", JSONArray.fromObject(list));
  • jsp端的接收
代码块

jsp代码:


<script type="text/javascript" src='${root}/common/js/echarts.js'></script>


<div id="mainMap" style="height:300px;width:600px;"></div>
<script type="text/javascript">
    var mapDataJson='${mapDataJson}';
    var json=JSON.parse(mapDataJson);

    // 路径配置
    require.config({
        paths: {
            echarts: 'http://echarts.baidu.com/build/dist'
        }
    });
    // 使用
    require(
            [
                'echarts',
                'echarts/chart/map' // 使用柱状图就加载bar模块,按需加载
            ],
            function (ec) {
                // 基于准备好的dom,初始化echarts图表
                var myChart_map = ec.init(document.getElementById('mainMap'));

                var itemStyle = {
                    normal:{label:{
                        show:true,
                        formatter:'{b}',
                        textStyle: {fontSize: 10,fontWeight : 'bold'}
                    }},
                    emphasis:{label:{show:true}}
                };

                var option_map = {
                    title : {
                        text: '',
                        subtext: '应用使用次数',
                        x:'center'
                    },
                    tooltip : {
                        trigger: 'item'
                    },
                    legend: {
                        orient: 'vertical',
                        x:'left',
                        data:['次数']
                    },
                    dataRange: {
                        min: 0,
                        max: 2500,
                        x: 'left',
                        y: 'bottom',
                        text:['高','低'],           // 文本,默认为数值文本
                        calculable : true
                    },

                    series : [
                        {
                            name: '总数',
                            type: 'map',
                            mapType: 'china',
                            roam: false,
//                            itemStyle:{
//                                normal:{label:{show:true}},
//                                emphasis:{label:{show:true}}
//                            },
                            itemStyle: itemStyle,
                            data:getData()
                        }

                    ]
                };

                //option_map.series[0].data=json;  

                // 为echarts对象加载数据
                myChart_map.setOption(option_map);
            }
    );
    function getData(){
        return json;
        }
</script>
  • 客户端浏览
实例

前台地图展示数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值