19-Echarts 配置系列之: timeline 动态切换

前言:

timeline 动态切换 作用:在同一个图表上展示不同时间段的数据,并实现动态切换的效果。

简介原理:在 timeline 中定义显示节点并与相应的数据结构绑定,然后调用 ECharts 提供的方法,重新渲染图表。

options 对象用来配置图表的主要选项对象,包括了图表的数据、样式、交互行为等。

baseOption 是option对象的一个子集,定义图表的基本配置选项。一般来说这个属性是在出现多个option 时,用 baseOption 来定义其中公共的配置,减少重复的定义实现一些配置的复用和统一管理。

一、配置代码:

option={//  baseOption 中定义公共的 option 配置baseOption:{timeline:{show:true,                          // 是否显示 timelinetype:'slider',                      // 属性类别仅这种类别axisType:'time',                    // 轴的类型currentIndex:0,                     // 当前显示的options 组,0时表示展示options[0] 的数据autoPlay:true,                      // 是否自动播放rewind:true,                        // 是否方向播放loop:true,                          // 是否循环播放playInterval:100,                   // 数据切换、跳动的间隔,单位毫秒realtime:true,                      // 点击还在拖拽圆点的时候,是否事实更新视图replaceMerge:undefined,             // 合并方法,用来处理数据切换时,是将数据叠加还是重新绘制。controlPosition:'left',             // 该组件的播放按钮的位置zlevel:0,                           // 组件所有图形的渲染等级z:0,                                // 组件所有图形的 z 值,控制图形的前后顺序。left:'auto',                        // 组件距离容器的左侧距离right:'auto',                       // 组件距离容器的右侧距离top:'10%',                          // 组件距离容器的顶部距离bottom:'10%',                       // 组件距离容器的底部距离padding:5,                          // 组件内边距orient:'horizontal',                // 组件的展示方式,竖直或者水平inverse:true,                       // 是否方向放置symbol:'rect',                      // 标记的图形symbolSize:10,                      // 标记图形的大小symbolRotate:10,                    // 标记图形的旋转角度symbolKeepAspect:true,              //symbolOffset:[0,0],                 //  标记相当于原本位置的偏移//  timeline 轴线的样式lineStyle:{show:true,                      // 是否显示轴线color:'#DAE1F5',                // 线的颜色width:2,                        // 线的宽度type:'solid',                   // 线的类别dashOffset:10,                  // 线为虚线时,虚线的偏移量cap:'butt',                     // 指定线段末端的绘制方法join:'bevel',                   // 设置两个长度不为 0 的相连部分如何连接miterLimit:10,                  // 设置斜截面限制比例shadowBlur:10,                  // 线阴影的模糊大小shadowColor:'red',              // 线的阴影颜色shadowOffsetX:10,               // 阴影水平偏移量shadowOffsetY:10,               // 阴影竖直偏移量opacity:0.5,                    // 图形的透明度},// timeline 轴的文本标签样式label:{position:'auto',                // 标签的显示位置show:true,                      // 标签是否显示interval:'auto',                // 标签的间隔rotate:90,                      // 标签的旋转角度formatter:function (value, index) {    // 标签显示文本的设置return value + 'kg';},color:'red',                     // 标签文本颜色fontStyle:'normal',              // 文字字体的风格fontWeight:'normal',             // 文字粗细fontFamily:'serif',              // 字体系列fontSize:12,                     // 字体大小align:'center',                  // 文字水平对齐方式verticalAlign:'center',          // 文字竖直对齐方式lineHeight:56,                   // 行高width:10,                      //文字显示宽度height:10,                     //文字显示高度textBorderColor:'red',         //文本描边颜色textBorderWidth:10,            //文本描边宽度textBorderType:'solid',        //描边类型textBorderDashOffset:10,       //描边为虚线时的偏移量textShadowColor:'transparent', //文字阴影颜色textShadowBlur:10,             //文字阴影长度textShadowOffsetX:10,          //文字阴影水平偏移量textShadowOffsetY:10,          //文字阴影竖直偏移量overflow:'none',               //文字超出是否截断ellipsis:'···',                //文字截断时末尾显示内容padding:[5,5,5,5],             //文本标签内边距 backgroundColor:'auto',        //文本标签的背景颜色borderColor:'red',             //文本标签的边框颜色borderWidth:20,                //文本标签的边框宽度borderType:'solid',            //文本标签边框描边类型borderDashOffset:10,           //描边为虚线时,虚线偏移量borderRadius:10,               //文本标签的圆角shadowBlur:20,                 //文本标签阴影大小shadowColor:'red',             //阴影颜色shadowOffsetX:20,              //文本标签的阴影水平偏移shadowOffsetY:20,              //文本标签的阴影竖直偏移   // 富文本 自定义文本样式 并在上面的 formatter 中使用rich:{style1:{// 关于文本的基本样式都可以定义                 }           },                              },// timeline 图形的样式itemStyle:{color:'red',                      // 图形颜色 优先级低于 areaColorborderWidth:2,                    // 图形描边宽度borderColor:'red',                // 图形描边颜色borderType:'solid',               // 图形描边线类型borderDashOffset:10,              // 描边线为虚线时的虚线偏移量borderCap:'round',                // 指定线段末端绘制方法borderJoin:'bevel',               // 两个线段相连端形状borderMiterLimit:10,              // borderJoin 为 miter 时,斜接面比例shadowBlur:10,                    // 图形的阴影大小shadowColor:'red',                // 图形阴影的颜色shadowOffsetX:5,                  // 阴影水平偏移量  shadowOffsetY:5,                  // 阴影竖直偏移量    opacity:0.5,                      // 图形透明度         },// 当前项的图形样式checkpointStyle:{symbol:'pin',                     // 标记的图形形状symbolSize: 10,                   // 标记图形大小symbolRotate:90,                  // 标记图形旋转角度symbolKeepAspect:true,            // 如果symbol 为自定义的 path:// 格式,图形是否等比缩放symbolOffset:[10,10],             // 相对于原本位置的偏移animation:true,                   // 当前节点切换时是否有动画animationDuration:300,            // 当前节点切换动画时长animationEasing:'quinticInOut',   // 当前节点动画的缓动效果// 剩余的样式内容和 itemStyle 中的一致                },// 按钮样式controlStyle:{show:true,                         // 是否显示控制按钮showPlayBtn:true,                  // 是否显示播放按钮showPrevBtn:true,                  // 是否显示后退按钮showNextBtn:true,                  // 是否显示前进按钮itemSize:24,                       // 控制按钮的大小itemGap:12,                        // 控制按钮的间隔position:'left',                   // 控制按钮的位置playIcon:'image://url',            // 播放按钮的图形stopIcon:'image://url',            // 停止按钮的图形prevIcon:'image://url',            // 后退按钮的图形nextIcon:'image://url',            // 前进按钮的图形color:'red',                      // 图形颜色 优先级低于 areaColorborderWidth:2,                    // 图形描边宽度borderColor:'red',                // 图形描边颜色borderType:'solid',               // 图形描边线类型borderDashOffset:10,              // 描边线为虚线时的虚线偏移量borderCap:'round',                // 指定线段末端绘制方法borderJoin:'bevel',               // 两个线段相连端形状borderMiterLimit:10,              // borderJoin 为 miter 时,斜接面比例shadowBlur:10,                    // 图形的阴影大小shadowColor:'red',                // 图形阴影的颜色shadowOffsetX:5,                  // 阴影水平偏移量  shadowOffsetY:5,                  // 阴影竖直偏移量    opacity:0.5,                      // 图形透明度                      },// 进度条中当前节点之前的的线条,拐点,标签的样式progress:{// 进度条中的线条样式,和上面的 lineStyle 配置内容一致lineStyle:{},// 进度条中的标记点图形样式,和上面的 itemStyle 配置内容一致itemStyle:{},// 进度条中的标签样式  这个配置视乎不太完整,很多 label 值在 progress 中是无效的label:{},   },// timeline 中高亮样式配置emphasis:{// 标签高亮样式,和上面的 label 配置内容一致label:{},// 进度条中的标记点图形高亮样式,和上面的 itemStyle 配置内容一致itemStyle:{},// 当前项,高亮状态样式,与上 checkpointStyle 配置相同checkpointStyle:{},// 控制按钮高亮状态样式,与上 controlStyle 配置相同controlStyle:{}     },// timeline 数据项data:['2021','2022','2023',{value:'2024',// 单独配置指示器内容tooltip:{formatter:function(params){return params.name +'年'            }                },// 单独配置图标symbol:'diamond',        // 图标图形symbolSize:12,           // 图标大小symbolOffset:[5,5],      // 图标偏移量symbolRotate:90,         // 图标旋转角度// 单独配置文本标签样式label:{// 与上面配置的 label 内容一致                                    },// 单独配置图形样式itemStyle:{// 配置内容与上方的 itemStyle 一致                },// 单独配置高亮状态emphasis:{// 配置内容与上方的 emphasis 一致                                    }          }        ]                                                                                                                                                                                                                                }}
}

二、解剖图:

三、配置实例代码

使用:

代码:

option = {baseOption: {grid:{height:'60%'},tooltip:{},// 核心配置timeline:{bottom:'5%',symbolSize:24,// 文本标签样式label:{position:20,fontSize:24,},// 控制按钮样式controlStyle:{// itemSize:24,itemGap:32},checkpointStyle:{symbolSize:24,},// 进度条中的线条,拐点,标签的样式。progress:{label:{fontSize:24,show:false,textBorderColor:'red',textBorderWidth:5,},},// 高亮样式配置emphasis:{checkpointStyle:{color:'red',},},axisType: "category",autoPlay: true,playInterval: 10000,// 数据项配置data:['2020','2021','2022',{value:'2023',tooltip:{formatter:'{b} GDP达到一个高度'},symbol:'diamond',}],},title:{subtext: '数据来自撒娇的骑士'},xAxis: {type: 'category',data: ['周一', '周二', '周三', '周四', '周五', '周六', '周天']},yAxis: {type: 'value'},// 统一定义 series 的series: [{name: '快乐值',type: 'bar',},{name: '消费',type: 'line',}]},// 设置 每个节点的 配置:标题,数据,图形类型等options:[{title: { text: '2020年平均数据' }, series:[{data: [150, 230, 224, 218, 135, 147, 260]},{data: [120, 130, 254, 268, 175, 167, 280],},]},{title: { text: '2021年平均数据' },series:[{data: [180, 250, 264, 298, 135, 147, 260]},{data: [110, 120, 244, 258, 185, 177, 270]}]},{title: { text: '2022年平均数据' },series:[{data: [140, 230, 224, 222, 135, 147, 260]},{data: [125, 130, 254, 268, 180, 173, 285]}]},{title: { text: '2023年平均数据' },series:[{data: [150, 230, 230, 218, 135, 147, 260]},{data: [120, 160, 280, 268, 195, 167, 280]}]}]
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/828997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于51单片机的天然气检测报警设计

基于51单片机的天然气检测报警 (仿真+程序原理图+设计报告) 功能介绍 具体功能: 1.MQ-5检测煤气浓度; 2.浓度分为低、中、高三档,分别用LED灯绿、黄、红来提示; 3.当浓度到达中档…

SpringCloud简介

微服务架构理论 微服务架构概述 Spring Cloud简介Spring Cloud 技术栈SpringBoot和SpringCloud的关系SpringCloud和Dubbo区别对比相关文档 微服务架构概述 微服务是一种架构模式,将单一应用程序划分成一组小的服务,服务之间相互协调、相互配合&#xff0…

chrome浏览器安装elasticsearch的head可视化插件

head插件简介 elasticsearch-head被称为是弹性搜索集群的web前端,head插件主要是用来和elastic Cluster交互的Web前端 head插件历史 elasticsearch-head插件在0.x-2.x版本的时候是集成在elasticsearch内的,由elasticsearch的bin/elasticsearch-plugin…

webpackd打包两次-生成两份代码-出现legacy的js文件

当我们build后dist文件中出现legacy的js文件。 原因: pack.json文件; { *****"browserslist": ["> 0.03%","not dead"] }当我们项目运行在古老的浏览器上面时(表示支持市场份额超过 > 0.03% 的浏览器版…

PPSSPPSDL for Mac v1.17.1 PSP游戏模拟器(附500款游戏) 激活版

PPSSPPSDL for Mac是一款模拟器软件,它允许用户在Mac上运行PSP(PlayStation Portable)游戏。通过这款模拟器,用户可以体验到高清甚至更高的分辨率的游戏画面,同时还能够升级纹理以提升清晰度,并启用后处理着…

vite和webpacke的常规配置

文章目录 1、vite和webpacke的区分2、vite的常规配置介绍主要部分介绍vite基本配置示例 3、webpacke的常规配置介绍主要部分介绍Webpack 基本配置示例 1、vite和webpacke的区分 相同点: 都是构建工具,用于资源打包 ; 都有应用到摇树原理 tre…

[Diffusion Model 笔记]DDIM 笔记 数学推导 Denoising Diffusion Implicit Models

目录 核心总结符号定义第一套,快速简单讲清采样方法继续分析,待定系数法求解图示理解关于参数sigma 本文是观看以下视频的笔记,强烈推荐观看最后的图示理解: https://www.bilibili.com/video/BV13P411J7dm/?spm_id_from333.788 论…

路由重分布的概念与配置

路由重分布的概念 l 路由重分布是指连接不同路由域(自治系统)的边界路由器,它在路由协议之间交换和通告路由信息 从一种协议(含静态/直连路由)到另一种协议 同一种协议的多个实例 路由重分布的背景 网络出口位置…

时间序列预测:基于PyTorch框架的循环神经网络(RNN)实现销量预测

之前随手一写,没想到做预测的同学还挺多,但是之前那个效果并不好,于是在之前的基础上重新修改完善,到了现在这一步才感觉预测算是初步能应用。 上文地址:LSTM模型预测时间序列:根据历史销量数据预测商品未…

AI预测福彩3D第9套算法实战化测试第4弹2024年4月26日第4次测试

今天继续进行新算法的测试,今天是第4次测试。好了,废话不多说了,直接上图上结果。 2024年4月26日福彩3D预测结果 6码定位方案如下: 百位:4、5、7、8、3、9 十位:6、9、5、4、1、2 个位:7、8、5、…

光明的未来:光分路器在现代通信中的角色

光分路器又叫分光器,是一种集成波导光功率分配器件,作用是实现光信号的分路。例如,一个1x4光分路器可以将一路输入光信号等比分成四路输出光信号,并在四个不同的通道内进行传输。如今,光分路器广泛应用在无源光网络&am…

从 RAG 1.0到RAG 2.0,这次做对了什么?

RAG是目前最流行的补充生成式人工智能模型的方式,最近 RAG 的开创者提出了新的上下文语言模型 (CLM) ,他们称之为“ RAG 2.0 ”。 今天让我们一块来从RAG目前的原理和缺点出发,看看他们所提出的RAG2.0是否能够为行业带来新的希望。 LLM的时间…

提交链码-编辑前后端,调用链码功能

一 . 链码介绍 1.什么链码? • 链码是一段用 Go、Node.js 或者 Java 实现了规定接口的程序。链码在安全的Docker容器中运行, 与背书节点的进程隔离。通过应用程序提交的交易,链码初始化和管理账本状态。• 链码通常处理网络成员协商达成的业…

若依文件下载

后端自带工具controller package com.ruoyi.web.controller.common;import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger; import org.slf4j.Logger…

docker常用基本命令

把jar包和 dockerfile文件放到同一目录下#构建Docker镜像 注意后面的 . 不能省略 docker build -t your-image-name .#运行并创建一个容器 docker run -d -p 8080:8080 --name container_name your-image-name# 停止容器 767fce4cb990 容器ID (容器名也可以) docker stop 767f…

HarmonyOS开发案例:【rating组件】

介绍 将引导开发者使用rating组件实现星级打分功能。 相关概念 [rating组件]:评分条,可根据用户判断进行打分。 环境搭建 软件要求 [DevEco Studio]版本:DevEco Studio 3.1 Release及以上版本。OpenHarmony SDK版本:API vers…

sCrypt全新上线RUNES功能

sCrypt智能合约平台全新上线一键etch/mint RUNES功能! 请访问 https://runes.scrypt.io/ 或点击阅读原文体验! 关于sCrypt sCrypt是BSV区块链上的一种智能合约高级语言。比特币使用基于堆栈的Script语言来支持智能合约,但是用原生Script编…

宁盾LDAP统一用户认证与单点登录:构建高效安全的企业身份认证

在信息化时代,企业面临着众多的应用系统和数据资源,如何有效地管理和保护这些资源,确保信息安全和高效利用,成为了企业信息化建设的核心问题。LDAP统一用户认证和单点登录(SSO)作为一种高效、安全的身份验证…

Quarto Dashboards 教程 2:Dashboard Layout

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度,分享官方文档的中文教程。软件可能随时更新,建议配合官方文档一起阅读。推荐先按顺序阅读往期内容: 1.quarto 教程 1:Hello, Quarto 2.qu…

srpingMVC基本使用

文章目录 1. springMVC基本功能(1) maven坐标导入(2) 编写表现层(3) springMVC配置类编写(4) 部署tomcat访问 2. 各种请求方法get请求post请求put请求delete请求请求参数提取 3. 请求参数接收(1) param参数接受封装到对象中 (2) 路劲参数接收集合接受时间类型接收json参数接收m…