关于使用echarts走过的坑(同grid多图、多轴系列)

相信大家在工作中,经常会用到echarts,今天我说下我在工作中浪费时间较长的坑

先来看看我的终极需要实现的图吧:

相信以上效果对于常用的小伙伴来说并不困难,

在此我只说option的配置,关于数据,就不在此赘述了,毕竟大家的情况都不太相同,处理就起来也不太一样。

option : {
                    grid: [{
                        left: ‘20%‘,
                        right: 50,
                        height: ‘35%‘
                    }, {
                        left: ‘20%‘,
                        right: 50,
                        top: ‘55%‘,
                        height: ‘35%‘
                    }],
                    tooltip: {
                        trigger: ‘axis‘,
                        axisPointer: {
                            animation: false
                        }
                    },
                    dataZoom: [{
                        type: ‘inside‘,
                        xAxisIndex: 0,
                        startValue: `${moment().subtract(12, ‘h‘).format()}/${moment().format()}`,
                        filterMode: ‘weakFilter‘,
                        borderColor: ‘transparent‘,
                        backgroundColor: ‘#e2e2e2‘,
                        handleSize: 500
                    },{
                        type: ‘inside‘,
                        xAxisIndex: 1,
                        startValue: `${moment().subtract(12, ‘h‘).format()}/${moment().format()}`,
                        filterMode: ‘weakFilter‘,
                        borderColor: ‘transparent‘,
                        backgroundColor: ‘#e2e2e2‘,
                        handleSize: 500
                    }],
                    axisPointer: {
                        link: {
                            // 表示所有 xAxisIndex 为 0、3、4 和 yAxisName 为 ‘someName‘ 的坐标轴联动。
                            xAxisIndex: [0, 1],
                        }
                    },
                    legend: {
                        data: [‘泵压(MPa)‘,‘顶驱转速(RPM)‘, ‘扭矩(KN.m)‘, ‘排量(L/min)‘, ‘井深(m)‘]
                    },
                    xAxis: [
                        {
                            type : ‘category‘,
                            gridIndex: 0,
                            boundaryGap : false,
                            data: this.date,
                            axisTick: {
                                show: true,
                                alignWithLabel: true,
                                interval: ‘auto‘
                                },
                                axisLabel: {
                                interval: ‘auto‘,
                            },
                        },
                        {
                            gridIndex: 1,
                            type : ‘category‘,
                            boundaryGap : false,
                            data: this.date,
                            position: ‘bottom‘,
                            axisTick: {
                                show: true,
                                alignWithLabel: true,
                                interval: ‘auto‘
                                },
                                axisLabel: {
                                interval: ‘auto‘,
                            },
                        }
                    ],
                    yAxis: [
                        {
                            type: ‘value‘,
                            name: ‘‘,
                            position: ‘left‘,
                            gridIndex: 0,
                            axisLine: {
                                lineStyle: {
                                    color: ‘#797874‘
                                }
                            },
                            splitLine: {
                                show: false
                            }
                        },
                        {
                            type: ‘value‘,
                            name: ‘泵压‘,
                            position: ‘left‘,
                            gridIndex: 0,
                            nameLocation: ‘center‘,
                            nameRotate: 0,
                            min: function(value) {
                                return value.min.toFixed(4);
                            },
                            max: function(value) {
                                return value.max.toFixed(4);
                            },
                            offset: 20,
                            axisLine: {
                                lineStyle: {
                                    color: ‘#a333cc‘
                                }
                            },
                            axisLabel: {
                                formatter: ‘{value}‘
                            },
                            splitLine: {
                                show: false
                            },
                            splitNumber: 1
                        },
                        {
                            type: ‘value‘,
                            name: ‘顶驱转速‘,
                            nameLocation: ‘center‘,
                            nameRotate: 0,
                            gridIndex: 0,
                            min: function(value) {
                                return value.min.toFixed(2);
                            },
                            max: function(value) {
                                return value.max.toFixed(2);
                            },
                            position: ‘left‘,
                            offset: 90,
                            axisLine: {
                                lineStyle: {
                                    color: ‘#ff9900‘
                                }
                            },
                            axisLabel: {
                                formatter: ‘{value}‘
                            },
                            splitLine: {
                                show: false // 是否显示坐标得横纵线
                            },
                            splitNumber: 1
                        }, {
                            type: ‘value‘,
                            name: ‘扭矩‘,
                            gridIndex: 0,
                            min: function(value) {
                                return value.min.toFixed(4);
                            },
                            max: function(value) {
                                return value.max.toFixed(4);
                            },
                            offset: 160,
                            position: ‘left‘,
                            nameLocation: ‘center‘,
                            nameRotate: 0,
                            axisLine: {
                                lineStyle: {
                                    color: ‘#ff0000‘
                                }
                            },
                            axisLabel: {
                                formatter: ‘{value}‘
                            },
                            splitLine: {
                                show: false // 是否显示坐标得横纵线
                            },
                            splitNumber: 1
                        },
                        {
                            type: ‘value‘,
                            name: ‘‘,
                            position: ‘left‘,
                            gridIndex: 1,
                            axisLine: {
                                lineStyle: {
                                    color: ‘#797874‘
                                }
                            },
                            splitLine: {
                                show: false
                            }
                        },
                        {
                            type: ‘value‘,
                            name: ‘排量‘,
                            gridIndex: 1,
                            nameLocation: ‘center‘,
                            nameRotate: 0,
                            min: function(value) {
                                return value.min.toFixed(2);
                            },
                            max: function(value) {
                                return value.max.toFixed(2);
                            },
                            offset: 20,
                            position: ‘left‘,
                            axisLine: {
                                lineStyle: {
                                    color: ‘#006600‘
                                }
                            },
                            axisLabel: {
                                formatter: ‘{value}‘
                            },
                            splitLine: {
                                show: false // 是否显示坐标得横纵线
                            },
                            splitNumber: 1
                        },
                        ,{
                            type: ‘value‘,
                            name: ‘井深‘,
                            gridIndex: 1,
                            min: function(value) {
                                return value.min.toFixed(2);
                            },
                            max: function(value) {
                                return value.max.toFixed(2);
                            },
                            position: ‘left‘,
                            nameLocation: ‘center‘,
                            nameRotate: 0,
                            offset: 90,
                            axisLine: {
                                lineStyle: {
                                    color: ‘#0000cc‘
                                }
                            },
                            axisLabel: {
                                formatter: ‘{value}‘
                            },
                            splitLine: {
                                show: false
                            },
                            splitNumber: 1
                        }
                    ],
                    series: [
                        {
                            name: ‘泵压(MPa)‘,
                            type: ‘line‘,
                            yAxisIndex: 1,
                            xAxisIndex: 0,
                            color: ‘#a333cc‘,
                            data: []
                        },
                        {
                            name: ‘顶驱转速(RPM)‘,
                            type: ‘line‘,
                            color: ‘#ff9900‘,
                            yAxisIndex: 2,
                            xAxisIndex: 0,
                            data: []
                        }, {
                            name: ‘扭矩(KN.m)‘,
                            type: ‘line‘,
                            color: ‘#ff0000‘,
                            yAxisIndex: 3,
                            xAxisIndex: 0,
                            data: []
                        },
                        {
                            name: ‘排量(L/min)‘,
                            type: ‘line‘,
                            yAxisIndex: 5,
                            xAxisIndex: 1,
                            color: ‘#006600‘,
                            data: []
                        },
                        {
                            name: ‘井深(m)‘,
                            type: ‘line‘,
                            yAxisIndex: 6,
                            xAxisIndex: 1,
                            color: ‘#0000cc‘,
                            data: []
                        }
                    ]
                }

  我想说的是关于series的设置,一定要把,横坐标或者是纵坐标对应好,不然的话就很容易出现如下问题

‘type is undefined‘ 我的是报这个错喽,具体你的是什么错,我就不知道了,但是如果你的数据没有问题,图表不出来的话,就是 gridIndex ,yAxisIndex, xAxisIndex 没有对应好

原文地址:https://www.cnblogs.com/fengxin666/p/10655133.html

时间: 2024-10-30 05:31:56

关于使用echarts走过的坑(同grid多图、多轴系列)的相关文章

记录一次升级https走过的坑

记录一次升级https过程中走过的坑 curl: (51) SSL: certificate subject name 'mp3.xxx.com' does not match target host name 'static.xxx.com' 升级 http://mp3.xxx.com http://static.xxx.com 为 https://mp3.xxx.com https://static.xxx.com 因在一台服务器上配置的两个域名都解析到本机,配置完后,发现页面的静态文件都无

阿里云centos7.2 搭建 laravel 框架走过的坑

centos7.2 搭建 laravel框架走过的坑 前言 公司正在处于发展阶段最近开发的伙伴和运维的伙伴一直在忙碌着 开发人员一直在写laravel架构的代码以及新项目的拓展,时间很赶所以作为linux运维的我也不能怠慢. 首先搭建lnmp架构 nginx php 我选择的yum,wget的安装方法 mysql选择编译安装 因为我只认为MySQL我还有编译安装的需要(熟悉熟悉). 准备 : 1.PHP 7版本  2.openssl(yum安装)3.pdo扩展 mysql 4.安装compose

Appium 走过的坑( Mac+java )--Apple 篇

最近随着手机测试盛行,经朋友推荐,selenium的新家庭成员Appium算比较好用的一款自动化手机测试工具.本想,selenium出的东西都是好东西,IDE-->RC-->WebDriver-->PhantomJS,个个都是好东西,当然其中有些不适selenium做的,算半个推荐,但真心不错,那这个Appium也不会差吧...抱着试试的心态,开始了踏坑之旅.下面就让我描述下我走过的坑: 首先先说下环境: Mac pro (OS X 10.10.3) Java (1.6 , 后续会介绍怎

Appium 走过的坑( Mac+java )--Android 篇

Apple的坑走完后,终于打开了界面,想想还是有点小激动的,然后进入了更坑的Android环境搭建. 如果你以为这环境就和Apple这样easy能解决(虽然不少坑 - -),那就大错特错,android环境等于另外一套东西,比Apple难弄多了,机制也很傻... 牢骚话少说,咱们来跨坑,第一个坑随即而来,之前我在说Apple环境时,下载安装完appium工具,Apple环境自动已经完善(前提是你已经安装完xcode).那么android环境应该怎么配置呢? 我就绕过我求寻真理的沼泽了,直接说怎么

最近走过的坑 :slf4j 多个实现 hibernate 类型转换异常 bean依赖问题

最近走过的坑 slf4j 多个实现 主要是maven依赖中存在多个slf4j的实现类,在引入的依赖中排除对应的依赖就可以 <dependency> <groupId>xxxxxx</groupId> <artifactId>xxxxxx</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>org.

EXTJS4.2 控件之Grid 根据数据源某列数据不同绑定不同的控件setEditor

Grid 根据数据源某列数据不同绑定不同的控件,例如:文本框和下拉框 主要代码写在grid的  plugins: [rowEditing],下面这是定义的rowEditing对象,这里面的要定义成 Ext.grid.plugin.CellEditing而不是Ext.grid.plugin.RowEditing Ext.getCmp('pvn').setEditor(form组件);这是给grid的列绑定组件, pvn是在列中定义的id! 如下: var rowEditing = Ext.crea

[jQuery]抓grid底下每一列的组件

摘要:[jQuery]抓grid底下的组件(input 或是 非input) 抓grid底下每一列tr,再抓出每一列的里面的input来加总 . $("table[id*=gvMain] tr").each(function () { //如果该列的checkbox有打勾的话 if ($(this).find("input[id*='chk'][type='checkbox']").attr('checked')) { //就把该列的隐藏金额字段加总 var trV

UWP 走过的坑

一切源于项目选择了一个WIN10的PAD. 采用了WPF,WEB制作对应功能的软件,用户交互都不理想. 最后,选择了UWP.最终证明效果是完美的,虽然走过很多伤心的坑... 1.安装UWP的开发环境.是的,他需要WIN10系统.试过虚拟机,系统升级后就挂.后改用实体机,环境搭建OK ,这个过程持续了2周,心累. 2.开发UWP界面,有WPF的基础上手很快. 3.开发功能,项目需要用串口,采用微软提供的串口通讯实例,在打开串口后,通信不正常.单步调试进去查看 SerialPort ( Serial

微信公众平台开发,那些走过的坑

最近接手了一个微信公众平台的项目,历时两个月,基本完工,终于有时间可以总结一下这过程当中遇到的点点滴滴. 1.关于微信的内置浏览器 开始以为,微信内置浏览器是一个浏览器,对于安卓机和苹果机都是一样的,后来发现不是,苹果机和安卓机的内核是不一样的,所以前端设计过程中一定要考虑浏览器的兼容问题.苹果机的微信内置浏览器也并不是纯粹的safri内核,微信有自己的处理,比如,safri并不支持h5的audio,但苹果机的微信内置浏览器是支持的.最坑的一点,是苹果机的语音播放,调了很久,因为苹果机是不允许在