前端代码:

利用ajax传递json串来实现前后台分离

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>折线图</title><!--  第一步:引入layUI和echarts资源  --><script type="text/javascript" src="/osp/demo/lib/layui/echarts.js"></script><script type="text/javascript" src="/osp/demo/lib/layui/jquery-1.10.2.js"></script>
</head>
<body >
<!--  第二步:创建一个存放图标的DOM容器  --> <div id="container" style="height: 500px"></div><div style="display: "><script type="text/javascript"><!--  第三步:通过ajax传输json串  -->$.ajax({type : "get",url : "/osp/demo/rest/line/show", dataType : "json", success : function(data) { <!--  第四步:绑定DOM容器 ,将echarts对象放入DOM中 -->var dom = document.getElementById("container");var myChart = echarts.init(dom);var app = {};<!--  第五步:建立option对象,并将接受的json对象填入option -->var option = null;var title=data.title;var legend=data.legend;var xAxis =data.xAxis;var series=data.series;option = {title: {text: title},tooltip: {trigger: 'axis'},legend: {data:legend},grid: {left: '3%',right: '4%',bottom: '3%',containLabel: true},toolbox: {feature: {saveAsImage: {}}},xAxis: {type: 'category',boundaryGap: false,data:  xAxis},yAxis: {type: 'value'},series:  series};<!--  第六步:将option放入DOM容器中的 myChart对象,展示-->if (option && typeof option === "object") {myChart.setOption(option, true);}},error : function(errorMsg) {//请求失败时执行该函数alert("图表请求数据失败!");myChart.hideLoading();}})        </script></body>
</html>

后台代码

package com.nari.controller;import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.alibaba.fastjson.JSONObject;
import com.nari.osp.dbaccess.IDBAccess;@Controller
@RequestMapping("/line")
public class lineController {@Autowiredprivate IDBAccess dbaccess;@ResponseBody@RequestMapping("/show")public JSONObject getLine(){//1、获取月份对应数据 (y轴的value值)String sql="select REVERSE_ACTIVE_VALUE " +"from SG_CON_HVDCSYS_H_MON_QUA " +"where DATASOURCE_ID='0021330000' " +"and ID='01509901000003' " +"and REVERSE_ACTIVE_VALUE>0" +" order by MONTH asc " +"limit 10";List<Object> valueList=dbaccess.executeSqlQuery(sql);// 2、获取月份  (X轴的time点)String sql1="select MONTH " +"from SG_CON_HVDCSYS_H_MON_QUA " +"where DATASOURCE_ID='0021330000' " +"and ID='01509901000003' " +"and REVERSE_ACTIVE_VALUE>0" +" order by MONTH asc " +"limit 10";List<Object> monthList=dbaccess.executeSqlQuery(sql1);// 3、从数据库中拿到的时间是时间戳(年月日时分秒),将其转为字符串(年月日)List<String> list=new ArrayList<String>();for (Object object : monthList) {Date data=(Date) object;list.add(data.toString().substring(0,10));}// 4、拼接option中的series需要的数据   series : [{ name:'', type:'', data:[] }]JSONObject series=new JSONObject();series.put("name","产量" );series.put("type","line" );series.put("stack","总量" );series.put("data",valueList );     // y轴的value值的集合(注意要是object类型才可用)// 5、拼接option中的字段    option = { title:{}, lengtnd:{},xAxis:{}, series:[] }JSONObject jsonObject=new JSONObject();jsonObject.put("title","折线图" );jsonObject.put("legend","产量");jsonObject.put("xAxis",list);   // X轴jsonObject.put("series",series);System.out.println(jsonObject);return jsonObject;                  //  6、返回拼接好了的json数据}
}

基于osp平台和Echarts的折线图案例相关推荐

  1. echarts中折线图、柱状图之间的转换

    echarts中折线图.柱形图.数据视图的转换需要toolbox里面的内容(也就是加粗的部分) // 基于准备好的dom,初始化echarts实例     var day = echarts.init ...

  2. php echarts 两条曲线图,使用laravel和ECharts实现折线图效果的例子

    1.首先引入echart.js 2.html页面,要有一个布局容器,用来显示图像,一定要设置宽和高 3.echarts折线图的使用 var myChart = echarts.init(documen ...

  3. echarts图表折线图柱状图多个X轴Y轴以及一个Y轴反向

    echarts图表折线图柱状图多个X轴Y轴以及一个Y轴反向 option1: {color: ['#21E9F6', '#F2CE2E', '#EE2929', '#006DD9', '#1789FF ...

  4. echarts画折线图和数据excel导出

    最近一直使用echarts画折线图,在此做个记录 最后样式 代码 <!DOCTYPE html> <html style="height: 100%">&l ...

  5. nari基于osp平台的后端简单curd案例

    本片主要描述了基于osp平台的简单的增删改查的小案例.便于记忆. 以table表格的前后端拿数据为例子! 在table中展示数据 @Controller @RequestMapping("/ ...

  6. echarts动态折线图拉扯变形问题

    echarts动态折线图拉扯变形问题 在使用echarts折线图 做动态数据展示时,发现一个bug 当折线图的一个数值较高点紧挨着一个数值为零的点,guyong时图形会被拉扯,应该是echart的bu ...

  7. Echarts实现折线图Y轴不等距百分比(最终解决方案)

    Echarts实现折线图Y轴不等距百分比(最终解决方案-上集) 出现背景 解决思路 总结 附加 出现背景   最近公司有一个需求,主要是想展示近7日产品的一个良品率(百分率制).但是呢,基本上每天这个 ...

  8. 使用 Echarts 实现折线图中线条添加、删除、编辑

    使用 Echarts 实现折线图中线条添加.删除.编辑 小帅 小白,也能改变浪花的方向,公众号:51reboot运维开发 介绍一下使用 Echarts 做数据统计分析,如何实现支持折线图的添加.删除. ...

  9. 小程序mpvue图片绘制水印_基于mpvue小程序使用echarts画折线图的方法示例

    第一次使用mpvue框架来写小程序,项目开发直接搬用mpvue-shop(一个仿网易严选的小程序开发项目),项目结构清楚,实现了大部分功能,对于初次使用mpvue的小伙伴们来说,是一个很好的选择. 关 ...

最新文章

  1. ansible1.7.2源码安装教程
  2. IIS下配置PHP遇到Service Unavailable的解决方法
  3. ssm(Spring+Spring mvc+mybatis)mybatis配置文件——mybatis-config.xml
  4. C语言打包解包文件程序(简易版)
  5. eclipse 字体设置 Courier New字
  6. eclipse 矩阵删除行列,也可以矩阵形式编辑
  7. 【CV】如何使用Tensorflow提供的Object Detection API --2--数据转换为TFRecord格式
  8. 51单片机电子制作------篮球比赛计分器
  9. Pycharm 简单一步设置成官方中文版
  10. ofd阅读器qt_GitHub - gogo123150/ofdEditor: 一个很简陋的ofdEditor
  11. c语言对数组取反,C语言中按逆取反是什么意思
  12. 计算机进入睡眠状态网络连接,win10系统睡眠模式下依然保持网络连接状态的图文办法...
  13. 图片怎么转换成PDF,这三个方法轻松搞定!
  14. 想不想修真鸿蒙源液有什么用,想不想修真初代小世界怎么玩_想不想修真初代小世界玩法介绍_玩游戏网...
  15. facebook聊单?SaleSmatly来助力
  16. Http的各种请求方法(详解)
  17. 史上最完整的5G NR介绍
  18. 解决笔记本电脑连接不上鼠标问题(亲测有效)
  19. 百度站长工具使用指南
  20. Gurobi9.0.3安装

热门文章

  1. 腾讯云又搞特价活动打折续费还可以有优惠机不可失
  2. C++_求2个或3个正整数中的最大数,用带有默认参数的函数实现
  3. windows 10对应驱动下载和应用
  4. canvas画板涂鸦动画进度条动画
  5. java自动化测试语言高级之Applet 基础
  6. 关于程序员跑步的建议和忠告
  7. php获取上级绝对目录路径
  8. 三、docker镜像创建
  9. 画论87 陈撰《书画涉笔》
  10. 计算俩个日期之间相隔多少天。