【曹操】echarts多指标折线动态加载问题

简介: 曹操系统提供的平台性能展示功能,其中包含多平台单一性能展示、单平台多项性能展示、历史性能展示(单平台多项性能展示)及网络性能展示(单笔通话多项指标展示),这四种性能展示功能都是多指标多条折线展示,最多包含14项指标。

之前的方式是参照echarts官方提供的js模板写option并setoption,但是该方法以series写死的方式将所有指标穷举出来,每个展示的功能需要单独写一个js,这使得前端js代码冗余且可复用性降低,每个js针对所有的指标展示嵌套了很多if循环,使得js加载的时候会有效率问题,在页面展示方面,每次查询会将所有的指标在图例及提示框显示出来,即使查询时选取的指标参数并不是全部指标,让页面展示缺少简洁感。因此决定对图形展示的js进行优化,让代码的适用性更高。

1、理解echarts的绘图原理,结合数据特性理清思路

简单的说,echarts绘图时需要x轴数据,和对应的y轴数据,然后填点连线,对于曹操的展示功能中,x轴固定为时间,可以从返回的json数据中获取到并赋值到angularjs域里的name变量,针对于多指标项,通过循环每次将每个指标数据存放在term_son数组中,再将每个term_son放在 term数组中,实现数据展示时,循环term设置option的series项,这样就可以避免在js中出现写死的指标项,全部通过变量实现图形绘制。


2、具体代码

1)option配置
var option = {
    title: {//标题
        text: ectitle,
         x: 'center'
    },
        legend: {//图例
        left:'right',
        data: $scope.key
    },
    tooltip: {//提示框组件
        trigger: 'axis',
        axisPointer: {
        animation: false
            },
            textStyle: {
              fontStyle: 'italic',
              fontSize: 12
        }
    },
    xAxis: {//x轴
        type: 'category',
        splitLine: {
            show: false
        },
        data: $scope.name
    },
        yAxis: {//y轴数据
        type: 'value',
        splitLine: {
            show: false
        }
    },
    series: []//series项
};
2)series项设置
for(i =0; i < $scope.key.length; i++){
    var item = {
          name: $scope.key[i],//指标名称
          type: 'line',
          showSymbol: false,
          hoverAnimation: false,
          data: $scope.term[i]//指标数据
    }
    option.series.push(item);
};

chart.clear();
chart.setOption(option);

目录
相关文章
|
移动开发 数据可视化 前端开发
Echarts的使用以及动态加载数据
Echarts的使用以及动态加载数据
10335 0
Echarts的使用以及动态加载数据
|
3月前
|
数据可视化
echarts图表坐标轴数据标签添加下划线
echarts图表坐标轴数据标签添加下划线
55 0
|
3月前
|
前端开发 JavaScript BI
Django教程第5章 | Web开发实战-数据统计图表(echarts、highchart)
使用echarts和highcharts图表库实现折线图、柱状图、饼图和数据集图
66 2
|
4天前
|
数据可视化 JavaScript 前端开发
Echarts是一个开源的JavaScript可视化库,用于创建各种类型的图表
Echarts是JavaScript的开源可视化库,Python通过Pyecharts库可调用它来绘制图表。示例展示了如何用Pyecharts创建柱状图:定义图表对象,设置标题和坐标轴,添加X轴、Y轴数据,最后渲染展示。Pyecharts还支持折线图、散点图、饼图等多种图表类型,更多详情可查阅官方文档。
17 0
|
7天前
|
前端开发 JavaScript 定位技术
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
Docusaurus框架——react+antd+echarts自定义mdx生成图表代码解释文档
24 0
|
8天前
|
存储
vue2、vue3分别配置echarts多图表的同步缩放(二)
vue2、vue3分别配置echarts多图表的同步缩放
15 0
|
8天前
|
API
vue2、vue3分别配置echarts多图表的同步缩放(一)
vue2、vue3分别配置echarts多图表的同步缩放
13 0
|
14天前
|
容器
echarts图表怎样实现刷新功能?
echarts图表怎样实现刷新功能?