当前位置: 首页 > news >正文

微信小程序动态加载图表[echart]

1.引入Echarts
(1)将ec-canvas文件拷贝下来放到你自己的项目中:
在这里插入图片描述

(2)在你需要使用Echarts的页面的json文件中引入Echarts

"usingComponents": {"ec-canvas": "../utils/ec-canvas/ec-canvas"}

2.使用Echarts
在需要显示图表的页面的wxml中使用Echarts。

<view><ec-canvas id="mychart-dom-line" canvas-id="mychart-line" ec="{{ ec }}" />
</view>

在wxss设置宽度和高度

ec-canvas {width: 100%;height: 100%;
}

3.js页面设置Echarts以及动态刷新
有三个注意的点:
1:独立option
2:onReady获取节点
3:更新数据:同时更新init和option

import * as echarts from "../utils/ec-canvas/echarts";
// 1、独立option
function setOptionData(chart, name1, name2, xdata, ydata) {const option = {tooltip: {trigger: "axis",backgroundColor: "#092646",axisPointer: {type: "shadow",label: {show: true,backgroundColor: "#7B7DDC",color: "#FFF",},},textStyle: {color: "white", //设置文字颜色},},legend: {data: [name1, name2],itemWidth: 20,itemHeight: 10,textStyle: {color: "#B4B4B4",fontSize: 10,},top: "1%",},grid: {top: "12%",left: "1%",right: "5%",bottom: "2%",containLabel: true,},xAxis: {data: xdata,axisLine: {lineStyle: {color: "rgba(255,255,255,.3)",},},axisLabel: {color: "rgba(255,255,255,.5)",fontSize: 10,},axisTick: {show: false,},},yAxis: {x: "center",type: "value",splitLine: { show: false },axisLabel: {color: "rgba(255,255,255,.5)",fontSize: 10,},splitLine: {show: true,lineStyle: {color: "#195384",},},},series: [{name: name2,type: "bar",barWidth: 20,itemStyle: {normal: {barBorderRadius: 5,color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: "#956FD4" },{ offset: 1, color: "#3EACE5" },]),},},data: ydata,}],};chart.setOption(option);
}
Page({data:{ec: {onInit: null,lazyLoad: true}},onLoad(){this.getStatData()},onReady() {// 2、在页面渲染后拿到节点this.oneComponent = this.selectComponent('#mychart-dom-line');},getStatData(){const name1 = "name1"const name2 = "name2"const xdata = ['a','b','c']const ydata = [4,5,6]this.initChart(name1, name2, xdata, ydata)},initChart(name1, name2, xdata, ydata) {// 3、根据拿到的节点重新init 并 更新数据optionthis.oneComponent.init((canvas, width, height, dpr) => {const chart = echarts.init(canvas, null, {width: width,height: height,devicePixelRatio: dpr // new});setOptionData(chart, name1, name2, xdata, ydata)this.chart = chart;return chart;});}
})

相关文章:

微信小程序动态加载图表[echart]

1.引入Echarts &#xff08;1&#xff09;将ec-canvas文件拷贝下来放到你自己的项目中&#xff1a; &#xff08;2&#xff09;在你需要使用Echarts的页面的json文件中引入Echarts "usingComponents": {"ec-canvas": "../utils/ec-canvas/ec-canva…...

《opencv实用探索·十八》Camshift进行目标追踪流程

CamShift&#xff08;Continuously Adaptive Mean Shift&#xff09;是一种用于目标跟踪的方法&#xff0c;它是均值漂移&#xff08;Mean Shift&#xff09;的扩展&#xff0c;支持对目标的旋转跟踪&#xff0c;能够对目标的大小和形状进行自适应调整。 cv::CamShift和cv::me…...

MAP: Multimodal Uncertainty-Aware Vision-Language Pre-training Model

问题 多模态语义理解通常需要处理不确定性&#xff0c;这意味着获得的消息往往涉及多个目标。这种不确定性对我们的解释来说是有问题的&#xff0c;包括模式间和模式内的不确定性。人们很少研究这种不确定性的建模&#xff0c;特别是在未标记数据集的预训练和特定任务下游数据…...

【SpringCache】快速入门 通俗易懂

1. 介绍 Spring Cache 是一个框架&#xff0c;实现了基于注解的缓存功能&#xff0c;只需要简单地加一个注解&#xff0c;就能实现缓存功能。 Spring Cache 提供了一层抽象&#xff0c;底层可以切换不同的缓存实现&#xff0c;例如&#xff1a; EHCache Caffeine Redis(常用…...

GeoTools学习笔记

Feature要素&#xff1a; 例子&#xff1a;Csv2Shape.java 创建要素&#xff0c;先创建FeatureType&#xff0c;再创建Feature 根据FeatureCollection&#xff0c;可以创建shapefile https://docs.geotools.org/latest/userguide/library/main/data.html API详解&#xff1a;…...

短剧规模达到了百亿元,短剧分销成为短剧新模式

我国短剧市场规模直接突破了三百多亿元&#xff0c;目前已经是互联网的一大创业风口&#xff01; 一、短剧特点 在当下快节奏的生活中&#xff0c;短剧具有的快节奏、剧情紧凑的特点&#xff0c;符合大众对影视的需求。目前我国的短剧题材主要是言情、总裁、赘婿等&#xff0…...

Kotlin 中的 `as` 关键字:类型转换的艺术

在 Android 编程中&#xff0c;类型转换是一项常见的操作。为了使这一过程更加流畅和安全&#xff0c;Kotlin 提供了 as 关键字。本文将深入探讨 as 关键字的用法和最佳实践。 一、as 关键字的基本概念 &#x1f680; as 关键字在 Kotlin 中用于显式类型转换。它将一个表达式…...

CDN可以给企业网站带来哪些优势?

企业网站带来哪些优势&#xff1f;现在企业最关心的问题&#xff0c;就是我的网站能不能打开&#xff0c;用户访问到的是不是正常的页面&#xff0c;网站是否能够正常运营&#xff0c;而互联网是 一个开放式的平台&#xff0c;网站是否能够正常运营和很多因素都有关系&#xff…...

离线运行Oracle Database In-Memory Advisor

概念 离线运行Oracle Database In-Memory Advisor&#xff0c;就是不在生产系统上运行。这样可以避免影响生产系统。但需要从生产系统导出以下的数据&#xff1a; AWR DumpAWR补充数据 过程 导出AWR Dump 连接到CDB root运行。 SQL> connect / as sysdba SQL> ?/r…...

2,PyCharm的下载与安装

1&#xff0c;PyCharm的下载 a&#xff1a;打开PyCharm官网&#xff0c;并选择Developer Tools → PyCharm Pycharm官网地址 b&#xff1a;点击Download c&#xff1a;下载完成后&#xff0c;会在下载文件夹中&#xff0c;出现“pycharm-professional-2023.3.exe”文件 2&a…...

HNU计算机视觉作业一

前言 选修的是蔡mj老师的计算机视觉&#xff0c;上课还是不错的&#xff0c;但是OpenCV可能需要自己学才能完整把作业写出来。由于没有认真学&#xff0c;这门课最后混了80多分&#xff0c;所以下面作业解题过程均为自己写的&#xff0c;并不是标准答案&#xff0c;仅供参考 …...

Java:SpringBoot获取当前运行的环境activeProfile

代码示例 /*** 启动监听器*/ Component public class AppListener implements ApplicationListener<ApplicationReadyEvent> {Overridepublic void onApplicationEvent(ApplicationReadyEvent event) {// 获取当前的环境&#xff0c;如果是test&#xff0c;则直接返回Co…...

射频功率放大器的参数有哪些

射频功率放大器是射频通信系统中重要的组件&#xff0c;用于将输入的射频信号放大到需要的功率水平。在设计和选择射频功率放大器时&#xff0c;需要考虑多种参数。下面西安安泰将详细介绍射频功率放大器的常见参数。 1、P1dB功率压缩点 当放大器的输入功率比较低时&#xff0c…...

3-5、多态性

语雀原文链接 文章目录 1、多态类型2、上下转型3、instanceof 1、多态类型 编译时多态&#xff1a;方法重载 在编译阶段就已经确定要调用哪个重载的方法 运行时多态&#xff1a;方法重写 具体调用哪个子类的方法要到运行的时候&#xff0c;结果才能确定&#xff0c;多态只针对…...

什么是https 加密协议?

什么是https 加密协议&#xff1f; 加密通信的作用加密原理数字证书SSL/TLS 协议部署和使用重要性 HTTPS&#xff08;Hyper Text Transfer Protocol Secure&#xff09;是一种网络传输协议&#xff0c;它是基于HTTP协议的扩展&#xff0c;通过加密通信内容来保障数据传输的安全…...

低压无功补偿在分布式光伏现场中的应用

摘要&#xff1a;分布式光伏电站由于建设时间短、技术成熟、收益明显而发展迅速&#xff0c;但光伏并网引起用户功率因数异常的问题也逐渐凸显。针对分布式光伏电站接入配电网后功率因数降低的问题&#xff0c;本文分析了低压无功补偿装置补偿失效的原因&#xff0c;并提出了一…...

人工智能技术在宽域飞行器控制中的应用

近年来&#xff0c;以空天飞行器、高超声速飞行器等 ̈1 为典型代表的宽域飞行器蓬勃发展&#xff0c;如图1所示&#xff0c;其 不仅对高端装备制造、空间信息以及太空经济等领 域产生辐射带动作用&#xff0c;进一步提升了中国在航空航 天领域的自主创新能力&#xff0c;同时也…...

NGINX高性能服务器与关键概念解析

目录 1 NGINX简介2 NGINX的特性3 正向代理4 反向代理5 负载均衡6 动静分离7 高可用8 结语 1 NGINX简介 NGINX&#xff08;“engine x”&#xff09;在网络服务器和代理服务器领域备受推崇。作为一款高性能的 HTTP 和反向代理服务器&#xff0c;它以轻量级、高并发处理能力以及…...

云ssrf

https://book.hacktricks.xyz/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf SSRF -> EC2 Metadata API -> IAM临时Security Token -> AWS SSM -> RCESSRF -> EC2 Metadata API -> IAM临时Security Token -> AWS Lambda -> RCESSRF -&g…...

面试题目总结(三)

1. Spring、Springboot、springMVC、Spring Cloud 的区别&#xff1a; Spring&#xff1a;Spring 是一个开源的、轻量级的Java框架&#xff0c;提供了丰富的功能和组件&#xff0c;用于构建企业级应用程序。Spring框架包含了很多模块&#xff0c;包括核心容器、数据访问、事物…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发&#xff0c;旨在打造一个互动性强的购物平台&#xff0c;让用户在购物的同时&#xff0c;能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机&#xff0c;实现旋转、抽拉等动作&#xff0c;增…...