旧版本 echarts ignore中的ignore和flag属性在新版本中被舍弃了么

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&系统将自动刷新
给 Ta 留言
感谢您的开源项目!
选择付款方式
Fork 将在后台执行,是否继续?
这是一个针对ECharts3.x(2.x)版本的Java类库,实现了所有ECharts中的Json结构对应的Java对象,并且可以很方便的创建Option
master2.0.4
最后提交于
Loading...
ECharts - Java类库本项目短域名为 &#x000A;当前版本3.0.0&#x000A;&#x000A;本项目是一个供Java开发使用的ECharts的开发包,主要目的是方便在Java中构造ECharts中可能用到的全部数据结构,如完整的结构Option。Option中的数据Series,包含Bar-柱状图,Line-折线图,Pie-饼图,Chord-和弦图等,支持ECharts中的所有图表。支持所有的Style类,如AreaStyle,ChordStyle,ItemStyle,LineStyle,LinkStyle等等。支持多种Data数据类型,一个通用的Data数据,以及PieData,MapData,ScatterData,KData等针对性的数据结构。
&#x000A;&#x000A;你可以使用本项目直接构造一个Option对象,转换为JSON后直接用js设置myChart.setOption(option),或者你也可以在前端构造基本的Option对象,然后使用本项目来构造其中需要的任意某部分的数据,如使用Series支持的图表类型创建Series数据。&#x000A;&#x000A;为了便于使用对应版本的ECcharts,本项目的版本号会使用和ECharts相同的版本号。&#x000A;&#x000A;由于本项目反馈的bug并不多,为了方便每一个开发人员,每次修复bug都会发布一个小版本,并且bug修复只针对当前的大版本进行修复。&#x000A;示例&#x000A;&#x000A;Maven坐标&dependency&&#x000A;
&groupId&com.github.abel533&/groupId&&#x000A;
&artifactId&ECharts&/artifactId&&#x000A;
&version&3.0.0&/version&&#x000A;&/dependency&&#x000A;下载地址&#x000A;&#x000A;&#x000A; 下载后解压即可&#x000A;项目支持图表类型3.x版本(2.x版本支持的图表不一样)&#x000A;&#x000A;Line - 折线(面积)图&#x000A;Lines - 线图&#x000A;Bar - 柱状(条形)图&#x000A;Scatter - 散点(气泡)图&#x000A;EffectScatter - 涟漪效果散点图&#x000A;Candlestick - K线图&#x000A;Pie - 饼(圆环)图&#x000A;Graph - 关系图,可以实现force&#x000A;Map - 地图&#x000A;Gauge - 仪表盘&#x000A;Funnel - 漏斗图&#x000A;Treemap - 矩形树图&#x000A;Heatmap - 热力图&#x000A;Boxplot - 箱形图&#x000A;Parallel - 平行坐标系&#x000A;Sankey - 桑基图&#x000A;&#x000A;ECharts组件&#x000A;&#x000A;Axis - 坐标轴&#x000A;Grid - 网格&#x000A;Title - 标题&#x000A;Tooltip - 提示&#x000A;Legend - 图例&#x000A;DataZoom - 数据区域缩放&#x000A;DataRange - 值域漫游&#x000A;Toolbox - 工具箱&#x000A;Timeline - 时间线&#x000A;visualMap - 视觉映射组件&#x000A;&#x000A;更新日志&#x000A;3.x版本相比2.x版本改动很大,除了部分图表不一样外,少数api也有改动,因此如果要从2.x升级3.x,一定要做好测试!&#x000A;3.0.0.2 - &#x000A;&#x000A;avoidLabelOverlap参数&#x000A;Position位置 center&#x000A;Line 的areaStyle属性&#x000A;LineStyle属性&#x000A;本次更新全部内容由 mic
提供&#x000A;&#x000A;3.0.0.1 - &#x000A;&#x000A;完善Style和Label的属性,对应的normal和emphasis增加position,formatter,textStyle三个属性&#x000A;&#x000A;3.0.0 - &#x000A;&#x000A;3.0版本去掉了k(改为candlestick),radar(雷达图),chord(和弦图),force(使用graph,layout=force替代),island(孤岛),eventRiver(事件河流图),venn(韦恩图),wordCloud(词云),Tree(树图)&#x000A;3.0版本新增了lines(线图),effectScatter(涟漪效果散点图),candlestick(新的k线图),graph(关系图,可以实现force),boxplot(箱形图),parallel(平行坐标系),sankey(桑基图)&#x000A;新增大量相关类,部分已有类增加大量属性&#x000A;新版本改动非常大,如果发现问题或者不合理的方法,可以在项目中提交issues&#x000A;&#x000A;2.2.7 - &#x000A;&#x000A;修复Gauge中AxisLine类型使用错误的bug&#x000A;&#x000A;解决LineType中的broken拼写错误&#x000A;&#x000A;TreeData中的value改为Double类型,仍然保留一个Integer的构造方法&#x000A;TreeData添加缺少的两个属性symbol和symbolSize&#x000A;&#x000A;AxisPointer增加show属性,该属性出现在scatter6的例子中&#x000A;AbstractData中的List&Object& data属性和相关调用都去掉泛型类型&Object&&#x000A;新增EMap,和Map(地图)类完全相同,只是为了避免和java.util.Map同时使用时不方便&#x000A;新增简单工厂SeriesFactory,提供了所有Series子类的创建方法&#x000A;Legend通用去掉&Object&&#x000A;由于fastjson存在多种bug,从这个版本移除FsonOption相关的类&#x000A;增加了一个BarTest14测试,彩虹柱状图&#x000A;&#x000A;如果你觉得这个项目对你有帮助,你可以通过捐赠来支持作者支付宝二维码&#x000A;&#x000A;或微信二维码&#x000A;&#x000A;感谢各位的支持~~&#x000A;&#x000A;宇哲 - ¥10 - &#x000A;&#x000A;ECharts网址&#x000A;&#x000A;Option说明&#x000A;&#x000A;Option正式代码中使用,不需要任何依赖。&#x000A;GsonOption正式代码中可以使用,需要引入Gson包,使用toString()方法可以转换为JSON结构的数据(支持function,详情看下面的function说明)。&#x000A;EnhancedOption测试专用,主要方便在浏览器中直接查看效果。&#x000A;使用GsonOption,FsonOption的toString()方法返回给前端时,前端需要使用eval(&#39;(&#39;+optionJsonStr+&#39;)&#39;)转换为JSON结构&#x000A;&#x000A;function说明&#x000A;由于JSON标准中不包含function类型,因而大多数的JSON库都不直接支持这种类型,处理这种类型最简单的方式就是转换为JSON字符串时,对字符串进行处理。&#x000A;&#x000A;虽然像jackson json和fastjson通过注解或者自定义的实现序列化接口可以实现,毕竟和JSON库的结合太密切了,而且使用起来也很麻烦,不如直接处理字符串,或者在js中处理。&#x000A;&#x000A;本项目中提供了GSON实现的GsonOption,就是重写了toString()方法,改为输出JSON结构的字符串,并且支持以下两种function形式:&#x000A;{&#x000A;
formatter:function(value){&#x000A;
return value.substring(0,8);&#x000A;
}&#x000A;}&#x000A;&#x000A;//和&#x000A;&#x000A;{&#x000A;
formatter:(function(){&#x000A;
return 'Temperature : &br/&{b}km : {c}°C';&#x000A;
})()&#x000A;}&#x000A;&#x000A;当然这种形式在Java中书写的时候有着严格的要求:&#x000A;option.tooltip().trigger(Trigger.axis).formatter("function(value){return value.substring(0,8);}");&#x000A;&#x000A;option.tooltip().trigger(Trigger.axis).formatter("(function(){return 'Temperature : &br/&{b}km : {c}°C';})()");&#x000A;&#x000A;&#x000A;&#x000A;先看第一种,这里的&function中,双引号和function必须连着,中间不能存在空格,否则不会识别。然后是结尾的}&,这里也必须连着不能有空格,在首尾这两段代码之间不能出现}&,否则会判断出错。如果在{}中的代码有字符串,请使用单引号&#39;,双引号出现在单引号内时使用\\&即可。除此之外没有别的限制。&#x000A;再看第二种,这里的&(function中,双引号、括号和function必须连着,中间不能存在空格,否则不会识别。然后是结尾的})()&,这里也必须连着不能有空格,在首尾这两段代码之间不能出现})()&,否则会判断出错。如果在{}中的代码有字符串,请使用单引号&#39;,双引号出现在单引号内时使用\\&即可。除此之外没有别的限制。&#x000A;&#x000A;&#x000A;上述对function的处理很简单,不限制在formatter使用,所有值都能这么写,你可以参考写出自己的Option&#x000A;&#x000A;&#x000A;挑两个例子大概的看看这个Java类库如何使用第一个例子,简单的折线图&#x000A;对应的ECharts例子地址:
&#x000A;&#x000A;测试代码地址:&#x000A;@Test&#x000A;public void test() {&#x000A;
//地址:/doc/example/line5.html&#x000A;
EnhancedOption option = new EnhancedOption();&#x000A;
option.legend("高度(km)与气温(°C)变化关系");&#x000A;&#x000A;
option.toolbox().show(true).feature(Tool.mark, Tool.dataView, new MagicType(Magic.line, Magic.bar), Tool.restore, Tool.saveAsImage);&#x000A;&#x000A;
option.calculable(true);&#x000A;
option.tooltip().trigger(Trigger.axis).formatter("Temperature : &br/&{b}km : {c}°C");&#x000A;&#x000A;
ValueAxis valueAxis = new ValueAxis();&#x000A;
valueAxis.axisLabel().formatter("{value} °C");&#x000A;
option.xAxis(valueAxis);&#x000A;&#x000A;
CategoryAxis categoryAxis = new CategoryAxis();&#x000A;
categoryAxis.axisLine().onZero(false);&#x000A;
categoryAxis.axisLabel().formatter("{value} km");&#x000A;
categoryAxis.boundaryGap(false);&#x000A;
categoryAxis.data(0, 10, 20, 30, 40, 50, 60, 70, 80);&#x000A;
option.yAxis(categoryAxis);&#x000A;&#x000A;
Line line = new Line();&#x000A;
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)");&#x000A;
option.series(line);&#x000A;
option.exportToHtml("line5.html");&#x000A;
option.view();&#x000A;}&#x000A;&#x000A;代码生成的json结果:&#x000A;{&#x000A;
"calculable": true,&#x000A;
"toolbox": {&#x000A;
"show": true,&#x000A;
"feature": {&#x000A;
"restore": {&#x000A;
"show": true,&#x000A;
"title": "还原"&#x000A;
},&#x000A;
"magicType": {&#x000A;
"show": true,&#x000A;
"title": {&#x000A;
"line": "折线图切换",&#x000A;
"stack": "堆积",&#x000A;
"bar": "柱形图切换",&#x000A;
"tiled": "平铺"&#x000A;
},&#x000A;
"type": ["line", "bar"]&#x000A;
},&#x000A;
"dataView": {&#x000A;
"show": true,&#x000A;
"title": "数据视图",&#x000A;
"readOnly": false,&#x000A;
"lang": ["Data View", "close", "refresh"]&#x000A;
},&#x000A;
"mark": {&#x000A;
"show": true,&#x000A;
"title": {&#x000A;
"mark": "辅助线开关",&#x000A;
"markClear": "清空辅助线",&#x000A;
"markUndo": "删除辅助线"&#x000A;
},&#x000A;
"lineStyle": {&#x000A;
"color": "#1e90ff",&#x000A;
"type": "dashed",&#x000A;
"width": 2&#x000A;
},&#x000A;
"saveAsImage": {&#x000A;
"show": true,&#x000A;
"title": "保存为图片",&#x000A;
"type": "png",&#x000A;
"lang": ["点击保存"]&#x000A;
},&#x000A;
"tooltip": {&#x000A;
"trigger": "axis",&#x000A;
"formatter": "Temperature : \u003cbr/\u003e{b}km : {c}°C"&#x000A;
},&#x000A;
"legend": {&#x000A;
"data": ["高度(km)与气温(°C)变化关系"]&#x000A;
},&#x000A;
"xAxis": [{&#x000A;
"type": "value",&#x000A;
"axisLabel": {&#x000A;
"formatter": "{value} °C"&#x000A;
}],&#x000A;
"yAxis": [{&#x000A;
"type": "category",&#x000A;
"boundaryGap": false,&#x000A;
"axisLine": {&#x000A;
"onZero": false&#x000A;
},&#x000A;
"axisLabel": {&#x000A;
"formatter": "{value} km"&#x000A;
},&#x000A;
"data": [&#x000A;
0, 10, 20, 30, 40, 50, 60, 70, 80&#x000A;
}],&#x000A;
"series": [{&#x000A;
"smooth": true,&#x000A;
"name": "高度(km)与气温(°C)变化关系",&#x000A;
"type": "line",&#x000A;
"itemStyle": {&#x000A;
"normal": {&#x000A;
"lineStyle": {&#x000A;
"shadowColor": "rgba(0,0,0,0.4)"&#x000A;
},&#x000A;
"emphasis": {}&#x000A;
},&#x000A;
"data": [&#x000A;
15, -50, -56.5, -46.5, -22.1, -2.5, -27.7, -55.7, -76.5&#x000A;
}]&#x000A;}&#x000A;&#x000A;&#x000A;第二个例子,使用(function(){})()执行JS代码&#x000A;对应的ECharts例子地址:
&#x000A;&#x000A;测试代码地址:&#x000A;@Test&#x000A;public void test() {&#x000A;
//地址:/doc/example/pie6.html&#x000A;
ItemStyle dataStyle = new ItemStyle();&#x000A;
dataStyle.normal().label(new Label().show(false)).labelLine().show(false);&#x000A;&#x000A;
ItemStyle placeHolderStyle = new ItemStyle();&#x000A;
placeHolderStyle.normal().color("rgba(0,0,0,0)").label(new Label().show(false)).labelLine().show(false);&#x000A;
placeHolderStyle.emphasis().color("rgba(0,0,0,0)");&#x000A;&#x000A;
EnhancedOption option = new EnhancedOption();&#x000A;
option.title().text("你幸福吗?")&#x000A;
.subtext("From ExcelHome")&#x000A;
.sublink("//AhQXtjbqh")&#x000A;
.x(X.center)&#x000A;
.y(Y.center)&#x000A;
.itemGap(20)&#x000A;
.textStyle().color("rgba(30,144,255,0.8)")&#x000A;
.fontFamily("微软雅黑")&#x000A;
.fontSize(35)&#x000A;
.fontWeight("bolder");&#x000A;
option.tooltip().show(true).formatter("{a} &br/&{b} : {c} ({d}%)");&#x000A;
option.legend().orient(Orient.vertical)&#x000A;
.x("(function(){return document.getElementById('main').offsetWidth / 2;})()")&#x000A;
.y(56)&#x000A;
.itemGap(12)&#x000A;
.data("68%的人表示过的不错", "29%的人表示生活压力很大", "3%的人表示“我姓曾”");&#x000A;
option.toolbox().show(true).feature(Tool.mark, Tool.dataView, Tool.restore, Tool.saveAsImage);&#x000A;&#x000A;
Pie p1 = new Pie("1");&#x000A;
p1.clockWise(false).radius(125, 150).itemStyle(dataStyle)&#x000A;
.data(new Data("68%的人表示过的不错", 68), new Data("invisible", 32).itemStyle(placeHolderStyle));&#x000A;&#x000A;
Pie p2 = new Pie("2");&#x000A;
p2.clockWise(false).radius(100, 125).itemStyle(dataStyle)&#x000A;
.data(new Data("29%的人表示生活压力很大", 29), new Data("invisible", 71).itemStyle(placeHolderStyle));&#x000A;&#x000A;
Pie p3 = new Pie("3");&#x000A;
p3.clockWise(false).radius(75, 100).itemStyle(dataStyle)&#x000A;
.data(new Data("3%的人表示“我姓曾”", 3), new Data("invisible", 97).itemStyle(placeHolderStyle));&#x000A;&#x000A;
option.series(p1, p2, p3);&#x000A;
option.exportToHtml("pie6.html");&#x000A;
option.view();&#x000A;}&#x000A;&#x000A;这段代码注意&#x000A;.x("(function(){return document.getElementById('main').offsetWidth / 2;})()")&#x000A;&#x000A;这个地方,这里巧妙的利用(function(){})()执行JS代码,实现了官方例子中的功能,生成的JSON结果如下:&#x000A;{&#x000A;
"title": {&#x000A;
"text": "你幸福吗?",&#x000A;
"subtext": "From ExcelHome",&#x000A;
"sublink": "//AhQXtjbqh",&#x000A;
"textStyle": {&#x000A;
"color": "rgba(30,144,255,0.8)",&#x000A;
"fontSize": 35,&#x000A;
"fontFamily": "微软雅黑",&#x000A;
"fontWeight": "bolder"&#x000A;
},&#x000A;
"x": "center",&#x000A;
"y": "center",&#x000A;
"itemGap": 20&#x000A;
},&#x000A;
"toolbox": {&#x000A;
"feature": {&#x000A;
"restore": {&#x000A;
"show": true,&#x000A;
"title": "还原"&#x000A;
},&#x000A;
"dataView": {&#x000A;
"show": true,&#x000A;
"title": "数据视图",&#x000A;
"readOnly": false,&#x000A;
"lang": ["Data View", "close", "refresh"]&#x000A;
},&#x000A;
"mark": {&#x000A;
"show": true,&#x000A;
"title": {&#x000A;
"mark": "辅助线开关",&#x000A;
"markClear": "清空辅助线",&#x000A;
"markUndo": "删除辅助线"&#x000A;
},&#x000A;
"lineStyle": {&#x000A;
"color": "#1e90ff",&#x000A;
"type": "dashed",&#x000A;
"width": 2&#x000A;
},&#x000A;
"saveAsImage": {&#x000A;
"show": true,&#x000A;
"title": "保存为图片",&#x000A;
"type": "png",&#x000A;
"lang": ["点击保存"]&#x000A;
},&#x000A;
"show": true&#x000A;
},&#x000A;
"tooltip": {&#x000A;
"show": true,&#x000A;
"formatter": "{a} &br/&{b} : {c} ({d}%)"&#x000A;
},&#x000A;
"legend": {&#x000A;
"orient": "vertical",&#x000A;
"data": ["68%的人表示过的不错", "29%的人表示生活压力很大", "3%的人表示“我姓曾”"],&#x000A;
"x": (function() {&#x000A;
return document.getElementById('main').offsetWidth / 2;&#x000A;
})(),&#x000A;
"y": 56,&#x000A;
"itemGap": 12&#x000A;
},&#x000A;
"series": [{&#x000A;
"radius": [125, 150],&#x000A;
"clockWise": false,&#x000A;
"name": "1",&#x000A;
"type": "pie",&#x000A;
"itemStyle": {&#x000A;
"normal": {&#x000A;
"label": {&#x000A;
"show": false&#x000A;
},&#x000A;
"labelLine": {&#x000A;
"show": false&#x000A;
},&#x000A;
"data": [{&#x000A;
"name": "68%的人表示过的不错",&#x000A;
"value": 68&#x000A;
}, {&#x000A;
"name": "invisible",&#x000A;
"value": 32,&#x000A;
"itemStyle": {&#x000A;
"normal": {&#x000A;
"label": {&#x000A;
"show": false&#x000A;
},&#x000A;
"labelLine": {&#x000A;
"show": false&#x000A;
},&#x000A;
"color": "rgba(0,0,0,0)"&#x000A;
},&#x000A;
"emphasis": {&#x000A;
"color": "rgba(0,0,0,0)"&#x000A;
}]&#x000A;
}, {&#x000A;
"radius": [100, 125],&#x000A;
"clockWise": false,&#x000A;
"name": "2",&#x000A;
"type": "pie",&#x000A;
"itemStyle": {&#x000A;
"normal": {&#x000A;
"label": {&#x000A;
"show": false&#x000A;
},&#x000A;
"labelLine": {&#x000A;
"show": false&#x000A;
},&#x000A;
"data": [{&#x000A;
"name": "29%的人表示生活压力很大",&#x000A;
"value": 29&#x000A;
}, {&#x000A;
"name": "invisible",&#x000A;
"value": 71,&#x000A;
"itemStyle": {&#x000A;
"normal": {&#x000A;
"label": {&#x000A;
"show": false&#x000A;
},&#x000A;
"labelLine": {&#x000A;
"show": false&#x000A;
},&#x000A;
"color": "rgba(0,0,0,0)"&#x000A;
},&#x000A;
"emphasis": {&#x000A;
"color": "rgba(0,0,0,0)"&#x000A;
}]&#x000A;
}, {&#x000A;
"radius": [75, 100],&#x000A;
"clockWise": false,&#x000A;
"name": "3",&#x000A;
"type": "pie",&#x000A;
"itemStyle": {&#x000A;
"normal": {&#x000A;
"label": {&#x000A;
"show": false&#x000A;
},&#x000A;
"labelLine": {&#x000A;
"show": false&#x000A;
},&#x000A;
"data": [{&#x000A;
"name": "3%的人表示“我姓曾”",&#x000A;
"value": 3&#x000A;
}, {&#x000A;
"name": "invisible",&#x000A;
"value": 97,&#x000A;
"itemStyle": {&#x000A;
"normal": {&#x000A;
"label": {&#x000A;
"show": false&#x000A;
},&#x000A;
"labelLine": {&#x000A;
"show": false&#x000A;
},&#x000A;
"color": "rgba(0,0,0,0)"&#x000A;
},&#x000A;
"emphasis": {&#x000A;
"color": "rgba(0,0,0,0)"&#x000A;
}]&#x000A;
}]&#x000A;};&#x000A;
项目点评 (24 条)
感谢分享&#x000A;
radar(雷达图) 啥时候能用= = &#x000A;
为什么我编译不通过呢,我用的JDK1.6
jar包也加了&#x000A;
LineData data1 = new LineData();&#x000A;data1.type(MarkType.max).name("最大值");&#x000A;&#x000A;LineData data2 = new LineData();&#x000A;data2.type(MarkType.min).name("最小值");
&#x000A;&#x000A;LineData data3 = new LineData ();&#x000A;data3.type(MarkType.average).name("平均值");
&#x000A;&#x000A;Line line1 = new Line();
&#x000A;&#x000A;line1.name("最高气温")&#x000A;
.type(SeriesType.line)&#x000A;
.data("11","11","16","13","12","13","10")&#x000A;
.markPoint(markPoint)&#x000A;
.markLine(markLine);
&#x000A;&#x000A;最大值和最小值可以显示
平均值不显示
series:[{&#x000A;
name:"test",&#x000A;
type :"graph",&#x000A;
data :[{&#x000A;
"category" :0,&#x000A;
x: -266.82776,&#x000A;
y: 299.6904,&#x000A;
"name" :"001",&#x000A;
"value" :100,&#x000A;
"symbolSize" :15&#x000A;
}],&#x000A;
layout :"none"&#x000A;
&#x000A;&#x000A;求助:graph
x和y怎么设置??? 页面展示空白&#x000A;
你这个问题解决了么?我现在也遇到了这个问题。。。&#x000A;
我也碰到同样的问题,添加toolbox有一定几率卡死。。&#x000A;
1.MarkLine 缺少label对象属性
2.MarkLine data属性值缺少[&#x000A;
name: '两个坐标之间的标线',&#x000A;
coord: [10, 20]&#x000A;
},&#x000A;
coord: [20, 30]&#x000A;
]自定义两坐标点来添加标线的数组对象&#x000A;
同一个页面,不同图形,都添加toolbox时,会卡死,如何解决呢?&#x000A;
你可以在登录后,对此项目发表评论}

我要回帖

更多关于 echarts ignore 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信