# ECharts - Java类库
## 本项目已暂停维护,只接受PR并小版本更新
**当前版本[![Maven central](https://maven-badges.herokuapp.com/maven-central/com.github.abel533/ECharts/badge.svg)](https://maven-badges.herokuapp.com/maven-central/com.github.abel533/ECharts)**
本项目是一个供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`数据。
**为了便于使用对应版本的ECcharts,本项目的版本号会使用和ECharts相同的版本号。**
**由于本项目反馈的bug并不多,为了方便每一个开发人员,每次修复bug都会发布一个小版本,并且bug修复只针对当前的大版本进行修复。**
## 示例
[ECharts-Java使用Java快速开发ECharts图表](http://blog.csdn.net/isea533/article/details/43225717)
## Maven坐标
```xml
<dependency>
<groupId>com.github.abel533</groupId>
<artifactId>ECharts</artifactId>
<version>最新版本</version>
</dependency>
```
## 下载地址
[ECharts-x.x.x.jar](http://mvnrepository.com/artifact/com.github.abel533/ECharts)
[API文档](https://oss.sonatype.org/content/repositories/releases/com/github/abel533/ECharts/)
打开后,查找需要的版本,下载其中的 javadoc 文件,解压即可。
## 项目支持
### 图表类型3.x版本(2.x版本支持的图表不一样)
- Line - 折线(面积)图
- <b>Lines - 线图</b>
- Bar - 柱状(条形)图
- Scatter - 散点(气泡)图
- <b>EffectScatter - 涟漪效果散点图</b>
- <b>Candlestick - K线图</b>
- Pie - 饼(圆环)图
- <b>Graph - 关系图,可以实现force</b>
- Map - 地图
- Gauge - 仪表盘
- Funnel - 漏斗图
- Treemap - 矩形树图
- Heatmap - 热力图
- <b>Boxplot - 箱形图</b>
- <b>Parallel - 平行坐标系</b>
- <b>Sankey - 桑基图</b>
### ECharts组件
- Axis - 坐标轴
- Grid - 网格
- Title - 标题
- Tooltip - 提示
- Legend - 图例
- DataZoom - 数据区域缩放
- DataRange - 值域漫游
- Toolbox - 工具箱
- Timeline - 时间线
- visualMap - 视觉映射组件
## 更新日志
<b>3.x版本相比2.x版本改动很大,除了部分图表不一样外,少数api也有改动,因此如果要从2.x升级3.x,一定要做好测试!</b>
### 3.0.0.3 - 2018-06-24
- 增加图例类型 by [freelyshadow](https://github.com/freelyshadow) [pr#46](https://github.com/abel533/ECharts/pull/46)
### 3.0.0.2 - 2016-10-18
- `avoidLabelOverlap`参数
- `Position`位置 `center`
- `Line` 的`areaStyle`属性
- `LineStyle`属性
- 本次更新全部内容由 mic <fallow5@qq.com> 提供
### 3.0.0.1 - 2016-03-20
- 完善`Style`和`Label`的属性,对应的`normal`和`emphasis`增加`position,formatter,textStyle`三个属性
### 3.0.0 - 2016-02-28
- 3.0版本去掉了k(改为candlestick),radar(雷达图),chord(和弦图),force(使用graph,layout=force替代),island(孤岛),eventRiver(事件河流图),venn(韦恩图),wordCloud(词云),Tree(树图)
- 3.0版本新增了lines(线图),effectScatter(涟漪效果散点图),candlestick(新的k线图),graph(关系图,可以实现force),boxplot(箱形图),parallel(平行坐标系),sankey(桑基图)
- 新增大量相关类,部分已有类增加大量属性
- 新版本改动非常大,如果发现问题或者不合理的方法,可以在项目中提交issues
### 2.2.7 - 2016-01-15
- 修复`Gauge`中`AxisLine`类型使用错误的bug#65
- 解决`LineType`中的`broken`拼写错误#58
- `TreeData`中的`value`改为`Double`类型,仍然保留一个`Integer`的构造方法
- `TreeData`添加缺少的两个属性`symbol`和`symbolSize`#69
- `AxisPointer`增加`show`属性,该属性出现在scatter6的例子中
- `AbstractData`中的`List<Object> data`属性和相关调用都去掉泛型类型`<Object>`
- 新增`EMap`,和`Map`(地图)类完全相同,只是为了避免和`java.util.Map`同时使用时不方便
- 新增简单工厂`SeriesFactory`,提供了所有`Series`子类的创建方法
- `Legend`通用去掉`<Object>`
- 由于fastjson存在多种bug,从这个版本移除`FsonOption`相关的类
- 增加了一个`BarTest14`测试,彩虹柱状图
## [完整更新日志](http://git.oschina.net/free/ECharts/blob/master/CHANGELOG.md)
## 如果你觉得这个项目对你有帮助,你可以通过捐赠来支持作者
### 支付宝二维码
![支付宝二维码](http://www.mybatis.tk/alipay.png)
### 或
### 微信二维码
![微信二维码](http://www.mybatis.tk/weixinpay.png)
## 感谢各位的支持~~
- 宇哲 - ¥10 - 2016-03-15
## ECharts网址
http://echarts.baidu.com/
## Option说明
1. `Option`正式代码中使用,不需要任何依赖。
2. `GsonOption`正式代码中可以使用,需要引入`Gson`包,使用`toString()`方法可以转换为JSON结构的数据(支持`function`,详情看下面的<b>function说明</b>)。
3. `EnhancedOption`测试专用,主要方便在浏览器中直接查看效果。
4. 使用`GsonOption`,`FsonOption`的`toString()`方法返回给前端时,前端需要使用`eval('('+optionJsonStr+')')`转换为JSON结构
## function说明
由于JSON标准中不包含`function`类型,因而大多数的JSON库都不直接支持这种类型,处理这种类型最简单的方式就是转换为JSON字符串时,对字符串进行处理。
虽然像jackson json和fastjson通过注解或者自定义的实现序列化接口可以实现,毕竟和JSON库的结合太密切了,而且使用起来也很麻烦,不如直接处理字符串,或者在js中处理。
本项目中提供了GSON实现的`GsonOption`,就是重写了`toString()`方法,改为输出JSON结构的字符串,并且支持以下两种`function`形式:
```javascript
{
formatter:function(value){
return value.substring(0,8);
}
}
//和
{
formatter:(function(){
return 'Temperature : <br/>{b}km : {c}°C';
})()
}
```
当然这种形式在Java中书写的时候有着严格的要求:
```java
option.tooltip().trigger(Trigger.axis).formatter("function(value){return value.substring(0,8);}");
option.tooltip().trigger(Trigger.axis).formatter("(function(){return 'Temperature : <br/>{b}km : {c}°C';})()");
```
1. 先看第一种,这里的`"function`中,双引号和`function`必须连着,中间不能存在空格,否则不会识别。然后是结尾的`}"`,这里也必须连着不能有空格,在首尾这两段代码之间不能出现`}"`,否则会判断出错。如果在`{}`中的代码有字符串,请使用单引号`'`,双引号出现在单引号内时使用`\\"`即可。除此之外没有别的限制。
2. 再看第二种,这里的`"(function`中,双引号、括号和`function`必须连着,中间不能存在空格,否则不会识别。然后是结尾的`})()"`,这里也必须连着不能有空格,在首尾这两段代码之间不能出现`})()"`,否则会判断出错。如果在`{}`中的代码有字符串,请使用单引号`'`,双引号出现在单引号内时使用`\\"`即可。除此之外没有别的限制。
**上述对`function`的处理很简单�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ECharts - Java类库.zip (207个子文件)
.gitignore 85B
LineTest6.java 92KB
Option.java 25KB
Style.java 18KB
Timeline.java 14KB
Graph.java 14KB
Series.java 14KB
Polar.java 12KB
Axis.java 12KB
DataZoom.java 12KB
DataRange.java 11KB
Gauge.java 9KB
Basic.java 9KB
Radar.java 9KB
LineStyle.java 9KB
Tooltip.java 8KB
Map.java 8KB
TextStyle.java 8KB
Treemap.java 8KB
HeatmapTest.java 8KB
BasicData.java 8KB
MarkLine.java 7KB
Detail.java 7KB
CommentsUtil.java 7KB
Toolbox.java 7KB
OptionUtil.java 7KB
VisualMap.java 7KB
Breadcrumb.java 6KB
ItemStyle.java 6KB
Legend.java 6KB
Funnel.java 6KB
Effect.java 6KB
Title.java 6KB
Pie.java 6KB
Level.java 6KB
AxisTick.java 5KB
CheckpointStyle.java 5KB
ChainUtil.java 5KB
AbstractLabel.java 5KB
Node.java 5KB
GsonUtil.java 5KB
Sankey.java 5KB
Data.java 5KB
Feature.java 5KB
FromJsonTest.java 5KB
MarkPoint.java 5KB
AbstractData.java 5KB
ScatterTest6.java 5KB
ControlStyle.java 5KB
Category.java 5KB
Heatmap.java 5KB
AxisPointer.java 4KB
MapLocation.java 4KB
ChordStyle.java 4KB
SeriesData.java 4KB
BarTest12.java 4KB
AccessTest.java 4KB
TreeData.java 4KB
NoDataLoadingOption.java 4KB
FunnelTest2.java 4KB
Config.java 4KB
Link.java 4KB
PieTest7.java 4KB
Line.java 4KB
PieTest6.java 4KB
Graphic.java 4KB
ValueAxis.java 4KB
Bar.java 4KB
ScatterTest3.java 4KB
LineTest.java 4KB
SeriesDeserializer.java 4KB
ScatterTest2.java 4KB
BarTest4.java 3KB
Evolution.java 3KB
RootLocation.java 3KB
LinkStyle.java 3KB
BarTest1.java 3KB
BarTest14.java 3KB
LegendData.java 3KB
Event.java 3KB
FunnelTest.java 3KB
Pointer.java 3KB
ShadowStyle.java 3KB
RadarTest1.java 3KB
Candlestick.java 3KB
MagicType.java 3KB
LineTest9.java 3KB
Boxplot.java 3KB
LineTest5.java 3KB
EffectScatter.java 3KB
LineTest3.java 3KB
MapTest.java 3KB
RoamController.java 3KB
SeriesFactory.java 3KB
SplitLine.java 3KB
LabelLine.java 3KB
RangeData.java 3KB
AxisLine.java 3KB
MapData.java 3KB
Grid.java 3KB
共 207 条
- 1
- 2
- 3
资源评论
YOLO数据集工作室
- 粉丝: 442
- 资源: 1569
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功