# dhm-echarts
**Repository Path**: magic-codex/dhm-echarts
## Basic Information
- **Project Name**: dhm-echarts
- **Description**: echarts3图表封装,前台ajax通过自定义div属性实现传值,后台通过各种数据适配器达到图表封装,也可以自定义适配器。
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 102
- **Created**: 2017-06-02
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# dhm-echarts
通过自定义div,ajax提交数据实现echarts图表展示
项目地址:https://git.oschina.net/duhongming/dhm-echarts
**0 系统架构图**

**1 Maven项目说明**
dhm-echarts-bean:echarts图表的所有Option对象的JavaBean封装;
dhm-echarts-calculate:echarts图表拟合曲线算法:多项式回归方程等算法;
dhm-echarts-core:echarts图表基本图表配置+数据适配器;
dhm-echarts-web:图表演示页面 http://127.0.0.1:8080/dhm-echarts-web/echarts/demo;
**1.1 web项目部署**

**1.2 Maven的POM引用:**
```xml
com.duhongming
dhm-echarts-core
3.0.0.2
com.duhongming
dhm-echarts-calculate
3.0.0.2
org.springframework
spring-websocket
${spring.version}
org.springframework
spring-messaging
${spring.version}
com.fasterxml.jackson.core
jackson-core
2.4.4
com.fasterxml.jackson.core
jackson-databind
2.4.4
com.fasterxml.jackson.core
jackson-annotations
2.4.4
```
**2 dhm-echarts-web项目**
***2.1 页面图表div设置说明***

div属性 | 默认值 | 说明
---|--- |---
id | 无 | id必须唯一
class| echarts |必须是echarts
echarts-type | line | line:折线图
bar:柱状图
pie:饼状图
rose:玫瑰图
funnel:漏斗图
radar:雷达图
scatter:散点图
gauge:仪表盘
liquidfill:注水图
echarts-title| 图表标题 |图表标题
echarts-link| 无 |图表标题链接
echarts-subtitle |图表副标题 |图表副标题
echarts-sublink| 无 |图表副标题链接
echarts-theme |无 |macarons/dark/infographic/roma/shine/vintage
echarts-toolbox |false |是否需要工具栏
echarts-datazoom| false |是否需要数据域
echarts-x-axis-name |无 |X轴单位,eg: 日期(星期)
echarts-y-axis-name |无 |Y轴单位(两个Y轴单位,中间用逗号分隔)
eg: 最高温度(°C),最低温度(°C)
echarts-url |无 |后台SpringMVC控制器,通过@RequestBody获取数据
echarts-regression|散点图必要参数,否则不必要|只有echarts-type=scatter echarts-regression才有意义。
linear:线性回归拟合
exponential:指数回归拟合
logarithmic:对数回归拟合
olynomial:多项式回归拟合
echarts-socket|为空或没有则不是动态图表|后台是Spring Socket控制器,通过TextMessage传递数据
***2.2 Controller控制器中EchartsCore***
1)创建EchartsCore对象,加载前台页面的属性参数,通过getBaseGsonOption获取gsonOption图表的基本配置都已经setter完成;

gsonOption可以进行自定义配置:
//自定义配置
gsonOption.title().x(X.center);
gsonOption.legend().left(X.left).orient(Orient.vertical);
2)通过adapterLineAndBar将数据setter进gsonOption,然后return gsonOption.toString()通过@ResponseBody返回到页面ajax中;
gsonOption可以不使用适配器:
gsonOption中的series对象完成图表的显示;
***2.3 页面ajax获取表单中的数据***
1)有一个包裹form的标签,传递的button按钮即可
```xml
```
2)刷新指定图表
```xml
$("#submitButton").click(function(){
$("#demo-line").dblclick();
});
```
3)后台获取该图表的数据,已经保存在echartsConfig中
```xml
System.out.println("测试传入参数:"+echartsConfig.getParameters());
```
**3 dhm-echarts-core项目**
***3.1 echartsCore中调用的适配器***
适配器|适配器方法|适配器数据类型|适配器说明
---|---|---|---
EchartsLineAndBarAdapter|adapterLineAndBar|```List