java版echarts图表库echarts-mile米乐体育

本文由码农网 – 小峰原创,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划!

echarts-java项目简介

echarts是一款功能非常强大的javascript图表库,echarts-java是echarts的java版,用java代码实现了echarts的所有图表功能,echarts中的json结构也都转换成了java对象,这样我们使用起来会非常方便,设置也相当灵活。

本项目是一个供java开发使用的echarts的开发包,主要目的是方便在java中构造echarts中可能用到的全部数据结构,如完整的结构 option。option中的数据series,包含bar-柱状图,line-折线图,pie-饼图,chord-和弦图等,支持echarts中的 所有图表。支持所有的style类,如areastyle,chordstyle,itemstyle,linestyle,linkstyle等等。支 持多种data数据类型,一个通用的data数据,以及piedata,mapdata,scatterdata,kdata等针对性的数据结构。

你可以使用本项目直接构造一个option对象,转换为json后直接用js设置mychart.setoption(option),或者你也可以在前段构造基本的option对象,然后使用本项目来构造其中需要的任意某部分的数据,如使用series支持的图表类型创建series数据。

项目支持

图表类型

  • line – 折线(面积)图
  • bar – 柱状(条形)图
  • scatter – 散点(气泡)图
  • k – k线图
  • pie – 饼(圆环)图
  • radar – 雷达(面积)图
  • chord – 和弦图
  • force – 力导向布局图
  • map – 地图
  • gauge – 仪表盘
  • funnel – 漏斗图
  • island – 孤岛图(官方未提供,这里只有数据island对象)

echarts组件

  • axis – 坐标轴
  • grid – 网格
  • title – 标题
  • tooltip – 提示
  • legend – 图例
  • datazoom – 数据区域缩放
  • datarange – 值域漫游
  • toolbox – 工具箱
  • timeline – 时间线

option说明

  1. option正式代码中使用,不需要任何依赖。
  2. gsonoption正式代码中可以使用,需要引入gson包,使用tostring()方法可以转换为json结构的数据(支持function,详情看下面的function说明)。
  3. enhancedoption测试专用,主要方便在浏览器中直接查看效果。

function说明

由于json标准中不包含function类型,因而大多数的json库都不直接支持这种类型,处理这种类型最简单的方式就是转换为json字符串时,对字符串进行处理。

虽然像jackson json和fastjson通过注解或者自定义的实现序列化接口可以实现,毕竟和json库的结合太密切了,而且使用起来也很麻烦,不如直接处理字符串,或者在js中处理。

本项目中提供了gson实现的gsonoption,就是重写了tostring()方法,改为输出json结构的字符串,并且支持以下两种function形式:

{

formatter:function(value){

return value.substring(0,8);

}}//和{

formatter:(function(){

return ‘temperature :
{b}km : {c}°c’;

})()}

当然这种形式在java中书写的时候有着严格的要求:

option.tooltip().trigger(trigger.axis).formatter(“function(value){return value.substring(0,8);}”);option.tooltip().trigger(trigger.axis).formatter(“(function(){return ‘temperature :
{b}km : {c}°c’;})()”);

  1. 先看第一种,这里的"function中,双引号和function必须连着,中间不能存在空格,否则不会识别。然后是结尾的}",这里也必须连着不能有空格,在首尾这两段代码之间不能出现}",否则会判断出错。如果在{}中的代码有字符串,请使用单引号',双引号出现在单引号内时使用\"即可。除此之外没有别的限制。
  2. 再看第二种,这里的"(function中,双引号、括号和function必须连着,中间不能存在空格,否则不会识别。然后是结尾的})()",这里也必须连着不能有空格,在首尾这两段代码之间不能出现})()",否则会判断出错。如果在{}中的代码有字符串,请使用单引号',双引号出现在单引号内时使用\"即可。除此之外没有别的限制。

上述对function的处理很简单,不限制在formatter使用,所有值都能这么写,你可以参考写出自己的option

echarts-java的简单使用

@testpublic void test() {

//地址:http://echarts.baidu.com/doc/example/line5.html

enhancedoption option = new enhancedoption();

option.legend(“高度(km)与气温(°c)变化关系”);

option.toolbox().show(true).feature(tool.mark, tool.dataview, new magictype(magic.line, magic.bar), tool.restore, tool.saveasimage);

option.calculable(true);

option.tooltip().trigger(trigger.axis).formatter(“temperature :
{b}km : {c}°c”);

valueaxis valueaxis = new valueaxis();

valueaxis.axislabel().formatter(“{value} °c”);

option.xaxis(valueaxis);

categoryaxis categoryaxis = new categoryaxis();

categoryaxis.axisline().onzero(false);

categoryaxis.axislabel().formatter(“{value} km”);

categoryaxis.boundarygap(false);

categoryaxis.data(0, 10, 20, 30, 40, 50, 60, 70, 80);

option.yaxis(categoryaxis);

line line = new line();

line.smooth(true).name(“高度(km)与气温(°c)变化关系”).data(15, -50, -56.5, -46.5, -22.1, -2.5, -27.7, -55.7, -76.5).itemstyle().normal().linestyle().shadowcolor(“rgba(0,0,0,0.4)”);

option.series(line);

option.exporttohtml(“line5.html”);

option.view();}

代码生成的json结果:

{     "calculable": true,     "toolbox": {         "show": true,         "feature": {             "restore": {                 "show": true,                 "title": "还原"             },             "magictype": {                 "show": true,                 "title": {                     "line": "折线图切换",                     "stack": "堆积",                     "bar": "柱形图切换",                     "tiled": "平铺"                 },                 "type": ["line", "bar"]             },             "dataview": {                 "show": true,                 "title": "数据视图",                 "readonly": false,                 "lang": ["data view", "close", "refresh"]             },             "mark": {                 "show": true,                 "title": {                     "mark": "辅助线开关",                     "markclear": "清空辅助线",                     "markundo": "删除辅助线"                 },                 "linestyle": {                     "color": "#1e90ff",                     "type": "dashed",                     "width": 2                 }             },             "saveasimage": {                 "show": true,                 "title": "保存为图片",                 "type": "png",                 "lang": ["点击保存"]             }         }     },     "tooltip": {         "trigger": "axis",         "formatter": "temperature : \u003cbr/\u003e{b}km : {c}°c"     },     "legend": {         "data": ["高度(km)与气温(°c)变化关系"]     },     "xaxis": [{         "type": "value",         "axislabel": {             "formatter": "{value} °c"         }     }],     "yaxis": [{         "type": "category",         "boundarygap": false,         "axisline": {             "onzero": false         },         "axislabel": {             "formatter": "{value} km"         },         "data": [             0, 10, 20, 30, 40, 50, 60, 70, 80         ]     }],     "series": [{         "smooth": true,         "name": "高度(km)与气温(°c)变化关系",         "type": "line",         "itemstyle": {             "normal": {                 "linestyle": {                     "shadowcolor": "rgba(0,0,0,0.4)"                 }             },             "emphasis": {}         },         "data": [             15, -50, -56.5, -46.5, -22.1, -2.5, -27.7, -55.7, -76.5         ]     }]}

本文链接:http://www.codeceo.com/article/echarts-java.html
本文作者:码农网 – 小峰
原创作品,转载必须在正文中标注并保留原文链接和作者等信息。]

展开全文
内容来源于互联网和用户投稿,文章中一旦含有米乐app官网登录的联系方式务必识别真假,本站仅做信息展示不承担任何相关责任,如有侵权或涉及法律问题请联系米乐app官网登录删除

最新文章

网站地图