对Echarts工厂的封装处理

本文介绍了博主因工作需求对Echarts进行的简单封装,包括中国地图、柱状图、饼状图和折线图。主要关注option对象以及图表的X轴、Y轴数据。详细讲述了封装过程,从引入jar包到controller层调用,再到前端页面展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对Echarts工厂的封装,以及实体类的封装

出于工作上的需求,博主需要对Echarts进行简单的封装。于是在官网找到一些图形例子,不过也仅仅是图形展示。也找过一些实例(博主没积分),最终也没有找到合适的封装好的例子。

1、首先,当然你需要jar包,博主用的是3.0.0.1版本。如果你是maven项目,引入以下内容,如果普通WEB项目,直接下载jar包放入lib下。

<dependency>
    <groupId>com.github.abel533</groupId>
    <artifactId>ECharts</artifactId>
    <version>3.0.0.1</version>
</dependency>

2、此处封装几种简单的,也是用的较多的:柱状图,饼状图,折线图和中国地图。

看过官网例子后,我们知道echarts图形重要的无非就是option对象,和柱状图、折线图的X轴、Y轴数据。
首先看下中国地图,这个稍微简单点,不需要传入任何数据对象:
public class EchartDataOptionFactory {
    /**
     * 创建中国地图
     * 
     * @return
     */
    public static Option createMapChartDataOption() {
        Option option = new Option();
        EMap map = new EMap("Map");
        map.mapLocation(new MapLocation(X.center, Y.center, 500));
        map.selectedMode(SelectedMode.single);
        map.itemStyle().normal().borderWidth(1)
                .borderColor("lightgreen").color("orange")
                .label().show(true);
        map.itemStyle().emphasis()
                .borderWidth(0).borderColor("#fff").color("#32cd32")
                .label().show(true)
                .textStyle().color("#fff");
        Data data = new Data();
        map.data(data);
        option.series(map);
        return option;
    }
}
这里返回option对象。

3、controller层调用

@Controller
@RequestMapping(value="/echar")
public class EchartsController {
    /**
     * 获取中国地图
     * 
     * @return
     */

    @RequestMapping(value="/getMap.do",produces="text/html;charset=UTF-8")
    @ResponseBody
    public String getMap() {
        return JSON.toJSONString(es.createMapChartDataOption());
    }
}

4、前端jsp页面中请求,获取返回的json字符串:

<div style=" padding: 5px 15px;margin: 15px;text-align: center;">
        <div id="main" style="minwidth: 50px;height: 550px"></div>
    </div>
$(function() {
    var echar = echarts.init(document.getElementById('main'));
        showChinaMap(echar);
        $(window).resize(function() {
            echar.resize();
        });
    });
function showChinaMap(echar) {
        $.ajax({
            url: 'echar/getMap.do',
            type: 'post',
            dataType: 'json',
            success: function(data) {
                console.log(data);
                optionView(data,echar);
            }
        });
}
function optionView(option,echar) {
        echar.setOption(option);
}

5、显示(当然主题可以自行加入):
中国地图

柱状图、饼状图、折线图

柱状图:http://blog.youkuaiyun.com/morebyte/article/details/78590793

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值