Echarts和Echarts-java类库简单使用方法

1.Eharts简介

Echarts 官网

ECharts,一个纯Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖轻量级的 Canvas 类库 ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。

Echarts-java类库

这是一个针对ECharts3.x(2.x)版本的Java类库,实现了所有ECharts中的Json结构对应的Java对象,并且可以很方便的创建Option

2.Echarts使用

2.1、下载Echarts有关的js文件   

    地址: http://echarts.baidu.com/download.html

    根据自己的需求进行下载

2.2、下载Echarts-java类库

    关于Echaert-java类库可转到:https://gitee.com/free/ECharts

    下载地址:ECharts-x.x.x.jar

    Maven坐标:

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

2.3.在页面中导入Echarts.js文件以及创建一个图表显示容器

<script src="../echarts/echarts.js"></script>
<div id="echarts" style="height:300px;"></div>

2.4.获取数据,填充图表

2.4.1    直接在页面设置数据(不使用Echarts-java类库)

<script type="text/javascript">
    //指定图标的配置和数据
    var option = {
        title:{
            text:'ECharts 数据统计'
        },
        tooltip:{},
        legend:{
            data:['用户来源']
        },
        xAxis:{
            data:["Android","IOS","PC","Ohter"]
        },
        yAxis:{

        },
        series:[{
            name:'访问量',
            type:'line',
            data:[500,200,360,100]
        }]
    };
    //初始化echarts实例
    var myChart = echarts.init(document.getElementById('echarts'));
    //使用制定的配置项和数据显示图表
    myChart.setOption(option);
</script>

2.4.2 使用Echarts-java类库获取数据    (以柱状图为例)

1.导入Echarts类库jar包

import com.github.abel533.echarts.*;

2.创建测试数据

public List<Map<String,Object>> getData(){
   List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
   for(int i = 0;i < 100;i++){
      Map<String,Object> map = new HashMap<String,Object>();
      map.put("NAME",i);
      map.put("TOTAL",Math.round(Math.random()*100));
      list.add(map);
   }
   return list;
}

3.拼装option

public Option test() {
   Map<String,String> param = new HashMap<String, String>();
   //List<Map<String,Object>> list = dao.test(param);    //数据库查询出的数据
   List<Map<String, Object>> list = getData();
   if(list.size()<1){
      Map<String,Object> map = new HashMap<String,Object>();
      map.put("NAME","");
      map.put("TOTAL",0);
      list.add(map);
   }
   Option option = new Option();
   Toolbox toolbox = new Toolbox().show(true);    //创建工具栏
   toolbox.feature(new DataView().show(true).readOnly(false),new MagicType().show(true).type(new String[]{"line","bar"}), new Restore().show(true),new SaveAsImage().show(true));
   option.toolbox(toolbox);
   option.color("#3398DB");
   option.title("设置标题").tooltip().trigger(Trigger.axis);//设置标题
   CategoryAxis categoryAxis = new CategoryAxis();
   //创建柱状图
   Bar bar = new Bar();
   for(Map<String,Object> map : list){
      categoryAxis.data(map.get("NAME"));
      bar.data(map.get("TOTAL"));
   }
   bar.name("数量");
   Mark average = new Mark();//创建标记
   average.type("average").title("平均值");
   bar.markLine().data(average);//标记线
   option.xAxis(categoryAxis);
   option.yAxis(new ValueAxis());
   //滑块   startValue 从第几个开始显示   endValue  显示到第几个
   option.dataZoom(new DataZoom().type(DataZoomType.slider).startValue(0).endValue(23));
   //拖动
   option.dataZoom(new DataZoom().type(DataZoomType.inside).startValue(0).endValue(23));
   option.series(bar);
   return option;
}

4.ajax获取数据

$.ajax({
    type: "post",
    url: "",    //获取数据路径
    data: {},
    dataType: "json",
    success: function(data){
        myChart.setOption(data.option);
    }
});

其他设置

点击事件

myChart.on('click', function (params) {
   //做自己想做的
});

echarts 事件api

Echarts 给x轴或y轴的文字添加点击事件:将xAxis或者yAxis的属性triggerEvent 置为 true;

Echarts 随机颜色函数:

myChart.setOption({
   series:[{
      itemStyle:{
         normal:{
            color:function(value){
               return "#" + ("00000" + ((Math.random() * 16777215 + 0.5) >> 0).toString(16)).slice(-6);
            }
         }
      }
   }]
});

 

转载于:https://my.oschina.net/u/3732872/blog/1579463

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值