页面效果


x轴为每年存在数据的月份,因而不一定是12个月,每个月又包含对应的天数
y轴为充电量

获取数据

 listCarChargingKWHChart() {var _this = this;listCarChargingKWHChart({"token": getSessiontoken('token'),"type": parseInt(_this.selectType),"dayTime": _this.searchingCondition.dayTime,"yearTime": _this.searchingCondition.yearTime,"beginTime": _this.searchingCondition.beginTime,"endTime": _this.searchingCondition.endTime,"monthTime": _this.searchingCondition.monthTime,}).then(function (res) {var obj = JSON.parse(utilFile.decrypt(res.data.a));if (obj.code == 200) {console.log('图表', obj.data)_this.statisticalChartList = obj.data;var months=[];var arr = [];for (let i = 0; i < _this.statisticalChartList.length; i++) {for(let j = 0;j< _this.statisticalChartList[i].yearsList.length;j++){months.push(_this.statisticalChartList[i].yearsList[j].months);arr[j] = _this.statisticalChartList[i].yearsList[j].monthsList;}}console.log("转化后",months,arr)_this.standLine(months,arr);} else {_this.$message.error(obj.msg);}}).catch(function (err) {console.log(err);})},

后台返回数据格式


echarts图

  standLine(months,arr) {let _this = this;var chargingStationCount = _this.$echarts.init(document.getElementById("chargingStationCount"));var RecCountOpt = {tooltip: {trigger: 'axis',axisPointer: {type: 'cross',crossStyle: {color: '#999'}}},xAxis: [{type: 'category',data: months,axisPointer: {type: 'shadow'}}],yAxis: [{type: 'value',name: '电量',interval: 50,axisLabel: {formatter: '{value} KWH'}}],dataZoom: [{show: true,start: 30,end: 100},{type: 'inside',start: 60,end: 100},],series: _this.serie_func(arr,months)};chargingStationCount.setOption(RecCountOpt);},
拼接series 中data方法
 serie_func(series,month){var serie = []; var date=[]; //日期合并for(let k=0;k<series.length;k++){for(let q=0;q<series[k].length;q++){date.push(series[k][q].countDate.split(" ")[0].split("-")[2]);series[k][q].countDate = series[k][q].countDate.split(" ")[0].split("-")[2];}}console.log('date',date)var oldDataRule = [];series.forEach((el) => {el.forEach( item =>{var oldObj = {name: item.countDate,data: [item.avgTotalChargingKWH]}oldDataRule.push(oldObj);})})console.log('oldDataRule',oldDataRule)var newData = []var newObj = {}oldDataRule.forEach((el, i) => {if (!newObj[el.name]) {newData.push(el);newObj[el.name] = true;} else {newData.forEach(el => {if (el.name === oldDataRule[i].name) {el.data = el.data.concat(oldDataRule[i].data);}})}})console.log('newData',newData)newData.forEach((xdataele,xindex) => {var item = {  name:xdataele.name,//获取12个月type: 'bar',barGap: 0,data:xdataele.data}  serie.push(item);  });return serie;},
方法中数据


echarts中series下的data循环拼接相关推荐

  1. Echarts中series、option、component究竟是啥?

    Echarts创建 一个网页中可以创建多个echarts图例.一个DOM节点可作为echarts的渲染容器.每个DOM节点只能放一个echarts实例. series 系列 一个系列至少包含的要素为: ...

  2. echarts 配置项 series 中的data 多维度

    ECharts dataset 详解 简单概括一下就是 数据集(dataset)中除第一行元素外,每一行数据对应x轴一个类目,有多少个系列,类中就有多少图(或者说bar图里的多少根柱子) 一个系列等于 ...

  3. vue中给echarts的series,xAxis中的data动态赋值

    循环this.dataAndScore获取到数据后,直接通过option赋值给echart const Xdata = []; //定义数组Xdata const Sdata = []; //定义数组 ...

  4. java字符串拼接_为什么阿里巴巴不建议在for循环中使用quot;+quot;进行字符串拼接...

    点击上方"Java专栏",选择"置顶或者星标" 第一时间阅读精彩文章! ☞ 程序员进阶必备资源免费送「21种技术方向!」 点击查看☜ 字符串,是 Java 中最 ...

  5. 数据库异常---ORA-01436: 用户数据中的 CONNECT BY loop in user data 循环

    数据库 ORA-01436: 用户数据中的 CONNECT BY  loop in user data  循环 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社 ...

  6. ECharts中setOption的title、tooltip、xAxis、yAxis、series、legend等参数的含义。

    ECharts中setOption的title.tooltip.xAxis.yAxis.series.legend等参数的含义. title //标题设置 legend //图例控制 grid //图 ...

  7. 【杂记】(富文本框回填值、ajax数据回填按钮年级学科、去除数组中数组外包的引号、多重循环的写法、微测评获奖页面的内容 循环拼接写法、textarea禁止拖动、html基本、透明度、页面内出现滚动条)

    1. 富文本框回填值 for(var i = 0;i<res.data.choiceoptinfo.length;i++){ueArr[i].ready(function(){//选项ueArr ...

  8. python中的for in循环有什么意思_for _ in xxx中的下划线_是什么意思?

    for _ in list中的下划线_只是一个临时的循环变量, 因为_是合法的变量名 for _ in [1, 2, 3]:print(_) li = [[0, 1] for _ in range(3 ...

  9. 【Echarts】ECharts中常用的标签

    详细的标签详解 ECharts中常用的标签 ECharts中常用的标签 title标签 legend tooltip xAxis和yAxis 不同种类图的区别 ECharts中常用的标签 title标 ...

最新文章

  1. 微软云计算 Windows Azure“腾云驾雾”
  2. zabbix监控服务器日志文件,Zabbix对服务器资源进行监控及百度告警的整合
  3. 不连续曲线 highcharts_无人车运动规划中常用的方法:多项式曲线
  4. Kali Linux 下渗透测试 | 3389 批量爆破神器 | hydra | 内网渗透测试
  5. linux网络编程之用epoll实现io复用(基于tcp)
  6. 使用 加载 顺序_SpringBoot系列教程之Bean加载顺序之错误使用姿势辟谣
  7. 【深度优先搜索】计蒜客:中国象棋
  8. C语言-字符数组和字符串
  9. Java图片人物照片头像识别
  10. 十七、Fiddler抓包工具详细教程 — Fiddler常用插件
  11. Linux U盘检测与速度测试源码
  12. 多个html合并一个PDF,如何将多个网页合并成一个PDF文件
  13. v-for错误:应为数组元素析构模式
  14. arduino: 各种Arduino基础器件的用法图
  15. 写给女儿的话---小荷作文万米写书序言
  16. 配置zsh的prompt
  17. podman 使用初
  18. Lucene,Solr,Elasticsearch之间的区别和联系
  19. 通过UserAgent判断是手机访问还是PC访问
  20. MVC5中的区域(Areas)

热门文章

  1. Windows添加路由:route add 173.18.18.0 mask 255.255.255.0 172.18.18.1
  2. RFID在钢筋仓库管理中的应用
  3. 大数据技术,统计学,应用统计学,有什么区别?选哪个好?
  4. 建行 新街口支行 管理公积金放款的经理
  5. 基于.NET的WebSocket实例:在线聊天室
  6. (7)hibernate中OneToMany单向
  7. FFT/NTT(板子整理)
  8. 知识点:充电器通电时,USB不插手机(升压板),USB端口是没有电压的
  9. android 在init.rc中添加bootmusic,xboot-x4412开发板问题汇总-开发 - Powered by Discuz!
  10. Android设计模式与应用场景