【蓝牙小程序】echart 折线图中如何标出最大值的点,并在其上面显示最大值

news/2025/3/19 14:20:01/文章来源:https://www.cnblogs.com/FBsharl/p/18780940

在微信小程序中使用 ECharts 绘制折线图时,可以通过 markPoint 来标记最大值点,并在该点上显示最大值。以下是实现步骤和示例代码。


实现步骤

  1. 引入 ECharts 库
    确保已经在微信小程序中引入了 ECharts 库。可以通过以下方式引入:

    • 下载 ECharts 小程序版本。

    • 将 ec-canvas 组件和相关文件放入小程序项目中。

  2. 配置 markPoint
    在 ECharts 的配置项中,使用 markPoint 标记最大值点,并通过 label 显示最大值。

  3. 动态计算最大值
    使用 JavaScript 计算数组中的最大值及其索引。


示例代码

1. WXML 文件

在页面中引入 ec-canvas 组件。

xml
复制
<view class="container"><ec-canvas id="mychart-dom-line" canvas-id="mychart-line" ec="{{ec}}"></ec-canvas>
</view>

2. WXSS 文件

设置图表容器的样式。

css
复制
.container {width: 100%;height: 500px;
}
ec-canvas {width: 100%;height: 100%;
}

3. JS 文件

在页面逻辑中初始化 ECharts 并配置图表。

javascript
复制
import * as echarts from '../../ec-canvas/echarts'; // 引入 EChartsPage({data: {ec: {onInit: initChart // 初始化图表的函数}}
});function initChart(canvas, width, height, dpr) {const chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr});canvas.setChart(chart);// 示例数据const data = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];// 找到最大值及其索引const maxValue = Math.max(...data);const maxIndex = data.indexOf(maxValue);// 配置项const option = {title: {text: '折线图最大值标记'},tooltip: {trigger: 'axis'},xAxis: {type: 'category',data: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']},yAxis: {type: 'value'},series: [{name: '数据',type: 'line',data: data,markPoint: {data: [{name: '最大值',type: 'max', // 标记最大值点valueIndex: maxIndex, // 最大值点的索引label: {formatter: '最大值: {c}', // 显示最大值position: 'top' // 标签位置}}]}}]};chart.setOption(option);return chart;
}

代码说明

  1. 引入 ECharts

    • 在 JS 文件中引入 ECharts 库。

    • 使用 ec-canvas 组件初始化图表。

  2. 计算最大值

    • 使用 Math.max(...data) 找到数组中的最大值。

    • 使用 indexOf 找到最大值的索引。

  3. 配置 markPoint

    • 在 series 中配置 markPoint,使用 type: 'max' 标记最大值点。

    • 通过 label 的 formatter 显示最大值,{c} 表示当前点的值。

  4. 设置图表样式

    • 在 WXSS 文件中设置图表容器的宽高。


运行效果

  • 折线图上会标记出最大值点。

  • 最大值点上会显示一个标签,内容为 最大值: xxx(xxx 是最大值)。


注意事项

  1. ECharts 版本

    • 确保使用的是支持微信小程序的 ECharts 版本。

  2. 性能优化

    • 如果数据量较大,建议对图表进行性能优化,例如减少不必要的动画或使用增量渲染。

  3. 动态更新数据

    • 如果需要动态更新数据,可以调用 chart.setOption 方法重新设置数据。

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

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

相关文章

go-gRPC微服务调用

协议介绍 RPC协议RPC(远程过程调用协议),通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。RPC假定某些协议的存在,例如TCP/UDP等,为通信程序之间携带信息数据。在OSI网络七层模型中,RPC跨越了传输层和应用层,RPC使得开发包括网络分布式多程序在内的应用…

突破性技术:制药冻干机实现EtherCAT与Profinet网关模块无缝监控集成

案例分享:冻干机 EtherCAT 转 Profinet 实现温湿度监控 在现代医药生产过程中,冻干机作为关键设备,对温湿度的控制与监测尤为重要。某医药企业在其冻干机系统升级中,面临一个典型的通讯挑战:主控制系统采用 EtherCAT 协议,而现场的温湿度监控系统及其他过程控制设备则基于…

java-JNDI(二)-高版本绕过

JNDI 高版本的绕过 为了防止 JNDI 攻击,Oracle 对 JNDI 的远程类加载漏洞(如 LDAP 或 RMI 协议的远程代码执行(RCE))进行了限制 com.sun.jndi.rmi.object.trustURLCodebase=false com.sun.jndi.cosnaming.object.trustURLCodebase=false com.sun.jndi.ldap.object.trustUR…

tile

dsfTechnorati Tags: gjhgsdhttp://dfdfdfddfdfdfdsfdfdf

电视机顶盒刷机,更改固件包教程

这几天捣鼓了很久的刷机包,终于学会了怎么把已经弄好的刷机包,更改成自己想要的桌面。下面是我整理好的详细教程,本教程所需工具:刷机包大全、MLK软件、mumu模拟器 刷机包大全: 链接: https://pan.baidu.com/s/1G0on4sV9QmpxPXLUSN5ttQ?pwd=5279 提取码: 5279 一.确定机顶…

Java技术栈面试八股文:掌握这九大关键领域

Java基础:这是Java开发的基石,包括Java语言的基本语法、数据类型、控制结构、面向对象编程(OOP)概念(如类、对象、继承、封装、多态)、异常处理、集合框架等。掌握这些基础知识对于理解更高级的Java特性至关重要。Java Web基础:涉及Java在Web开发中的应用,包括Servlet、…

Unity —— SpriteAtlas + Include in Build

前言在使用atlas Sprite的过程中,会忍不住产生一个疑问,atlas是做什么用的,这个include in Build的含义是什么呢,以及它是否应该被勾选。网上查阅到了很多资源,有的说这个选项大胆勾选,有的说这个选项勾选完后图集打包后的纹理在游戏启动后,会一直常驻内存,需要自己做好…

2025预测:PLM系统集成AI的7种智能决策应用场景

随着科技的飞速发展,产品生命周期管理(PLM)系统与人工智能(AI)的集成正逐渐成为企业提升竞争力的关键因素。这种集成不仅能够优化产品开发流程,还能在多个环节实现智能决策,为企业带来前所未有的价值。在2025 年,我们有望看到 PLM 系统集成 AI 后在众多领域展现出强大的…

PLM项目管理软件在汽车行业的应用案例

PLM项目管理软件在汽车行业的应用案例 汽车行业作为制造业的重要组成部分,面临着日益复杂的产品研发、生产管理等挑战。在这样的背景下,PLM(产品生命周期管理)项目管理软件应运而生,为汽车企业提升竞争力提供了有力支持。PLM项目管理软件涵盖了从产品概念设计到产品退役的…

java自学学习路线笔记+实践项目+面试八股文

基础知识巩固Java基础:掌握基本语法、数据类型、控制结构、面向对象等核心概念。推荐学习资源:韩顺平老师的B站课程。 Java进阶:深入学习集合框架、IO流、反射、注解等高级特性。 Java并发:理解线程、锁、并发工具类等,为高并发项目开发打基础。数据库技术MySQL:掌握SQL语…

awdp pwn

ciscn&ccb半决第十八届CISCN&CCB半决赛 awdp pwn typo snprintf() 是一个 C 语言标准库函数,用于格式化输出字符串,并将结果写入到指定的缓冲区,与 sprintf() 不同的是,snprintf() 会限制输出的字符数,避免缓冲区溢出。 C 库函数 int snprintf(char str, size_t …