微信小程序动态加载图表[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;});}
})

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

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

相关文章

编织魔法世界——计算机科学的奇幻之旅

文章目录 每日一句正能量前言为什么当初选择计算机行业计算机对自己人生道路的影响后记 每日一句正能量 人生就像赛跑&#xff0c;不在乎你是否第一个到达尽头&#xff0c;而在乎你有没有跑完全程。 前言 计算机是一个神奇的领域&#xff0c;它可以让人们创造出炫酷的虚拟世界…

智能成绩表 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题目描述 小明来到某学校当老师,需要将学生按考试总分或单科分数进行排名,你能帮帮他吗? 输入描述 第1行输入两个整数,学生人数n和科目数量m。0<n<100,0<m<10 第2行输入m个科目名称,彼此之间用空格隔开。科目名称只由英文…

基于SSM框架的购物商城系统论文

摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代&#xff0c;所以对于信息的宣传和管理就很关键。因此商城购物信息的…

Python集合魔法:解锁数据去重技巧

. 在Python编程的魔法世界中&#xff0c;有一种数据类型几乎被忽视&#xff0c;但却拥有强大的超能力&#xff0c;那就是集合&#xff08;Set&#xff09;。 集合是一种无序、唯一的数据类型&#xff0c;它以其独特的特点在编程世界中独占一席之地。 1. 集合的定义和特点 集…

androidstudio设置内存

androidstudio一直 scanning files to index&#xff0c;需要去设置内存&#xff1a; 操作如下&#xff1a;

HASH 哈希算法之MD5 算法

1. 哈希算法&#xff0c;用C 写的 #include <iostream> #include <iomanip> #include <cstring> #include <openssl/md5.h> #include <stdio.h>using namespace std;int main() {string str "hello world";unsigned char digest[MD5…

最常见的直流负载工作方式

直流负载工作方式是指在电力系统中&#xff0c;直流电源为负载提供电能的方式。在实际应用中&#xff0c;直流负载工作方式有很多种。 直接供电方式&#xff1a;这是最简单的直流负载工作方式&#xff0c;即直流电源直接为负载提供电能。这种方式适用于负载较小、对电源稳定性要…

都在卷,你今天卷了吗?带给你一个python 拦截利器,不用是你的损失

本文是一个较为完整的 mitmproxy 教程&#xff0c;侧重于介绍如何开发拦截脚本&#xff0c;帮助读者能够快速得到一个自定义的代理工具。 本文假设读者有基本的 python 知识&#xff0c;且已经安装好了一个 python 3 开发环境。如果你对 nodejs 的熟悉程度大于对 python&#…

API接口使用方法(封装好的电商平台)

为了进行此平台API的调用&#xff0c;首先我们需要做下面几件事情。 1、 获取一个KEY。 点击获取 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口&#xff0c;响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心和API测试工具&#xff0c…

MATLAB - 绘制立体图(平面+水深)

目录 代码结果 代码 % 在 X-Y 平面上绘图 % 正常绘制平面图 [X,Y,Z] peaks; contour(X,Y,Z,20); hold on% ****重点******************************************** % 改为三维视图&#xff0c;具体可以help % view(3); %此时的平面图对应z0 &#xff1b;默认az-37.5&#x…

网工学习9-STP配置(二)

如图 1 所示&#xff0c;当前网络中存在环路&#xff0c; SwitchA 、SwitchB 、SwitchC 和 SwitchD 都运行 STP&#xff0c;通过 彼此交互信息发现网络中的环路&#xff0c;并有选择的对某个端口进行阻塞&#xff0c;最终将环形网络结构修剪成无 环路的树形网络结构&#xff…

python实现pdf转word、word转pdf

我的博客 文章首发于公众号&#xff1a;小肖学数据分析 Python自动化办公通常对常用的办公软件文档格式进行操作&#xff0c;比如Word和PDF。 很多软件都需要付费&#xff0c;作为程序员&#xff0c;怎么可能付费。 下面是一个简单示例&#xff0c;如何在Python中将Word文档…

使用Echarts.js绘制环形图(指定触发高亮事件)

一、页面效果 默认tab为不限&#xff0c;正常渲染所有数据&#xff1a; 数据图形hover时&#xff0c;弹框展示相关信息&#xff1a; 切换tab时&#xff0c;高亮放大突出对应数据项的图形区域&#xff0c;并降低其他图形区域的透明度&#xff1a; 二、功能描述 1、tab选中不限…

2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷)

2024年江苏省职业院校技能大赛 信息安全管理与评估 第二阶段教师组 (样卷) 项目竞赛样题 本文件为信息安全管理与评估项目竞赛-第二阶段样题&#xff0c;内容包括&#xff1a;网络安全事件响应、数字取证调查、应用程序安全。 本次比赛时间为180分钟。 介绍 GeekSec专注技能竞…

fastapi.templating与HTMLResponse

要声明一个模板对象&#xff0c;应将存储html模板的文件夹作为参数提供。在当前工作目录中&#xff0c;我们将创建一个 “templates “目录。 templates Jinja2Templates(directory“templates”) 我们现在要把这个页面的HTML代码渲染成HTMLResponse。让我们修改一下hello()函…

Linux 存储管理

内容概述 磁盘结构分区类型管理分区管理文件系统挂载设备管理swap空间&#xff08;用来缓解内存空间不足情况&#xff09;RAID 管理LVM管理LVM快照 1 磁盘结构 1.1 设备文件 块设备文件&#xff1a;数据的访问单位是块Block&#xff0c;一个块的IO 字符设备文件&#xff1a…

台灯应该买什么样的才能护眼?学生护眼必备护眼台灯推荐

10月26日&#xff0c;教育部召开新闻发布会&#xff0c;介绍综合防控儿童青少年近视工作情况。全国综合防控儿童青少年近视工作联席会议机制办公室主任、教育部体育卫生与艺术教育司司长王登峰介绍&#xff0c;2018年全国儿童青少年的总体近视率53.6%&#xff0c;2019年总体近视…

OpenAI王座的有力竞争者:Google 发布最强 AI 大模型 Gemini,能力超过GPT-4!

当地时间 12 月 6 日&#xff0c;Google CEO 桑达尔・皮查伊&#xff08;Sundar Pichai&#xff09;官宣 Gemini 1.0 版正式上线。据介绍&#xff0c;这是 AI 模型的巨大飞跃&#xff0c;最终将影响几乎所有的 Google 产品。 Gemini 大模型包括三种量级&#xff1a;能力最强的 …

【LeetCode】2621. 睡眠函数

睡眠函数 Promise异步 题目题解 题目 请你编写一个异步函数&#xff0c;它接收一个正整数参数 millis &#xff0c;并休眠 millis 毫秒。要求此函数可以解析任何值。 示例 1&#xff1a; 输入&#xff1a;millis 100 输出&#xff1a;100 解释&#xff1a; 在 100ms 后此异步…

使用Java网络编程,窗口,线程,IO,内部类等实现多人在线聊天1.0

1.整体思路 思路图 整体思路如上: 涉及知识点:线程网络编程集合IO等 TCP 协议 2.代码实现过程 服务端 import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import jav…