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

微信小程序中使用echarts方法

小程序中使用echarts

echarts是一个基于JS的数据可视化图标库,它提供了直观,生动,可交互,可个性定制的数据可视化图表。一般在vue中会使用到,并且官网也详细的说明了如何在vue中使用,但是今天我想来探讨的是,如何在微信小程序中使用echarts

1. ec-canvas的github仓库

官网中介绍到:echarts-for-weixin 项目提供了一个小程序组件,用这种方式可以方便地使用 ECharts。

可以点击上方链接,到官网指定的地址下载图中圈中的项目ec-canvas

2. 下载 ec-canvas项目

然后就是把这个项目下载自己的电脑上,但是这里有一个非常重要的一个点,决定你的图表是否能够出来,在我下面这张图中圈的位置,一定要注意自己下的是哪个版本,因为echarts.js很大,一般使用的话,都直接在官网定制,小程序中不会放很多echarts图表,否则整个项目太大了,会跑不起来的。

3. 去echarts官网定制

 3.1  定制自己需要的图形:接下来就是找到官网,去定制自己需要的图表(官网地址不用我再说了吧,百度也能找到的)。

3.2 点击下载,进入定制页面 :往最下面翻,方法三:在线定制

在这个页面选择你需要的东西,注意!注意!注意!这里的选择版本必须和上面下载的ec-canvas中的echarts.js的版本对应必须!必须!必须!本人当初就是吃了这个亏,嘤嘤嘤~,选择完成后,翻到最下面点击下载按钮

3.3 然后你就会再开一个窗口下载一个文件,这时候就等着就好了。等到OK了,说明下载好了

3.4 找到你下载的文件:echarts.min.js

准备工作都做好了!!!接下来的都是重点

4. 下载替换

接下来就开始往你的小程序里面植入了。你可以自己新建一个components,把echarts这个目录放进去,原目录中的echarts.js删了不要,太大了,换成上一步下载的echarts.min.js,还有一点注意的就是ec-canvas.js的import引入的是原来的echarts.js文件,你需要自己改成刚才下载的文件

5. 引入使用

然后在你需要引入echarts的文件中开始操作,,在js文件中引入此文件(自己找此文件位置并引入)

 import * as echarts from '../../components/echarts/echarts.min'function bar(canvas, width, height, dpr) {const chart = echarts.init(canvas, null, {width: width,height: height,// devicePixelRatio: dpr});canvas.setChart(chart);let option = {xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {type: 'value'},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: 'bar',showBackground: true,backgroundStyle: {color: 'rgba(180, 180, 180, 0.2)'}}]};chart.setOption(option);return chart;
}

在date里写: 

data: {ec: {onInit: bar},},

所有的操作都在option中,需要配置其他属性的话,可查看配置项手册或者打开示例配置

JSON文件引入的是目录中的ec-canvas.js

在这里插入图片描述

 WXML文件:这里的ec是组件对象,对应着js文件里data的ec

<view class="ec-box"><ec-canvas canvas-id="echart-bar" ec="{{ec}}"></ec-canvas>
</view>

wxss文件:(给echarts的容器设置宽高)

ec1-box {width: 100%;height: 406rpx;
}

这样echarts的引入和使用就成功了。

echarts的option配置知识点归纳整理(还在更新):

  • 通用:
    1、grid: {left: "0", //距离容器左边的距离right: "0",  //距离容器右边的距离bottom: "0",  //距离容器下边的距离top: "33",  //距离容器上边的距离containLabel: true //是否显示坐标轴},
    2、xAxis: [{type: 'category',  // 坐标轴类型// prettier-ignoreaxisLabel: {  // 设置X轴坐标轴名称字体样式textStyle: {fontSize: "10",fontWeight: '400',color: '#999999',fontFamily: 'PingFangSC-Regular, PingFang SC'},},axisTick: {show: false  // 是否显示X轴坐标轴刻度},axisLine: {show: false  // 是否显示X轴坐标轴线},data: ['07/08', '07/09', '07/10', '今天']  // X轴字段数据}],   
    3、yAxis: [{type: 'value',   // 坐标轴类型axisLabel: {   // 设置Y轴坐标轴名称字体样式textStyle: {fontSize: "10",fontWeight: '400',color: '#999999',fontFamily: 'PingFangSC-Regular, PingFang SC'},},name: '元',  // 设置Y轴坐标轴单位nameTextStyle: { //  单位样式color: "#999999", //  字体颜色fontSize: 10, //  字体大小padding: [0, 26, 0, 0], //  内填充fontFamily: 'PingFangSC-Regular, PingFang SC',  // 字体fontWeight: 400, }}], 
    4、tooltip: { // 提示框组件show: true,confine: false, //是否将 tooltip 框限制在图表的区域内backgroundColor: 'rgba(0,0,0,0.65)', //提示框浮层背景色trigger: 'axis',dashOffset: 10,padding: 6, //上右下左内边距textStyle: { //提示框浮层的文本样式color: '#fff',fontSize: 10,lineHeight: 10,},axisPointer: { //坐标轴指示器配置项type: 'line', //直线指示器z: 1,lineStyle: {type: 'dashed',color: '#979797',shadowOffsetY: -7,shadowColor: '#979797',}},}, 
    5、 legend: {  // 图例组件orient: 'horizontal', //  布局朝向(横向/(纵向:vertical))right: 0, // legend位置调整icon: "circle", // legend标记样式itemHeight: 8, // legend标记样式高度itemWidth: 8, // legend标记样式宽度itemGap: 12, // legend标记的间距textStyle: {  // 图例文本样式fontSize: 10,fontFamily: 'PingFangSC-Regular, PingFang SC',fontWeight: 400,color: '#666666',padding: [0, 0, 0, 6] //文字与图形之间的左右间距},data: ['收入', '支出']  //图例数据数组},
    
  • 柱形图:
    1、series: [{  // 双柱图数据name: '收入',type: 'bar',barWidth: '10', // 柱状图宽度barGap: '60%',label: {// 设置显示labelshow: true,// 设置label的位置position: 'top',// 设置label的文字颜色color: '#999999',fontFamily: 'PingFangSC-Regular, PingFang SC',fontWeight: 500,fontSize: '10',// 格式化label文字formatter: function (data) {return Math.round(data.value).toFixed(2)},},data: [25.6, 76.7, 135.6, 162.2,],itemStyle: {color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ // 设置柱状图渐变色offset: 0,color: "#FF991C" // 0% 处的颜色}, {offset: 0.6,color: "#ffb720" // 60% 处的颜色}, {offset: 1,color: "#FFCD24 " // 100% 处的颜色}], false),barBorderRadius: [3, 3, 0, 0], // 柱形图圆角},},{name: '支出',type: 'bar',barWidth: '10', // 柱状图宽度label: {// 设置显示labelshow: true,// 设置label的位置position: 'top',// 设置label的文字颜色color: '#999999',fontFamily: 'PingFangSC-Regular, PingFang SC',fontWeight: 500,fontSize: '10',// 格式化label文字formatter: function (data) {return Math.round(data.value).toFixed(2)},},data: [70.7, 175.6, 182.2, 48.7],itemStyle: {color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ // 设置柱状图渐变色offset: 0,color: "#4186F5" // 0% 处的颜色}, {offset: 0.6,color: "#73affa" // 60% 处的颜色}, {offset: 1,color: "#9CD2FF  " // 100% 处的颜色}], false),barBorderRadius: [3, 3, 0, 0], // 柱形图圆角},}]
    
  • 折线图:
    1、  series: [{  // 折线图数据name: '完成订单',type: 'line',stack: 'Total',symbol: 'circle', // 折线图折点样式(实心)symbolSize: 4, // 折线图折点的大小样式lineStyle: {color: 'pink' // 设置折线颜色},data: [120, 132, 101, 134, 90, 230, 210]},{name: '取消订单',type: 'line',symbol: 'circle', // 折线图折点样式(实心)symbolSize: 4, // 折线图折点的大小样式stack: 'Total',data: [220, 182, 191, 234, 290, 330, 310]},]};
    

    小结

    以上就是小程序使用echarts步骤知识点了~

相关文章:

微信小程序中使用echarts方法

小程序中使用echarts echarts是一个基于JS的数据可视化图标库&#xff0c;它提供了直观&#xff0c;生动&#xff0c;可交互&#xff0c;可个性定制的数据可视化图表。一般在vue中会使用到&#xff0c;并且官网也详细的说明了如何在vue中使用&#xff0c;但是今天我想来探讨的…...

【面试题】前端中 JS 发起的请求可以暂停吗?

这个问题非常有意思&#xff0c;我一看到就想了很多可以回复的答案&#xff0c;但是评论区太窄&#xff0c;就直接开一篇文章来写了。 审题 JS 发起的请求可以暂停吗&#xff1f;这一句话当中有两个概念需要明确&#xff0c;一是什么样的状态才能称之为 暂停&#xff1f;二是…...

通过社区参与解锁早期增长:Maven 远程医疗平台概览

Maven通过用户导向的渐进式验证&#xff0c;找到了一个被忽视的巨大女性医疗服务市场&#xff0c;作为女性医疗保健的先行者&#xff0c;已服务超过1500万用户&#xff0c;目前估值已达$14亿。本文将深入探索Maven实现产品市场匹配的三个阶段&#xff0c;从如何验证初始的市场机…...

Vue中使用echarts

1 安装 npm install -g cnpm --registryhttps://registry.npm.taobao.org cnpm install echarts -S 2 main.js引入 3 引入成功...

边缘计算对现代交通的重要作用

边缘计算之所以重要&#xff0c;是在于即使在5G真正商用之时&#xff0c;可以实现超大带宽&#xff08;eMBB&#xff09;的应用场景&#xff0c;但庞大数据量的涌现也就意味着需要在云和端传输过程中找到一个承接点&#xff0c;对数据进行预处理再选择是否上云。 边缘计算应用演…...

Python桥接模式介绍、使用

一、Python桥接模式介绍 概念&#xff1a; Python桥接模式&#xff08;Bridge Pattern&#xff09;是一种软件设计模式&#xff0c;用于将抽象部分与其实现部分分离&#xff0c;使它们可以独立地变化。 它可以通过使用桥接接口来创建一个桥接对象来连接抽象和实现部分。 功能…...

ChatGPT在知识图谱的构建和更新中的应用如何?

ChatGPT在知识图谱的构建和更新中具有重要的应用潜力。知识图谱是一种用于表示和存储结构化知识的图形化数据模型&#xff0c;通常由实体、属性和关系组成。知识图谱的构建和更新是一个复杂而关键的过程&#xff0c;涉及知识的收集、组织、链接和推理。ChatGPT作为一种预训练语…...

JS正则表达式:常用正则手册/RegExp/正则积累

一、正则基础语法 JavaScript 正则表达式 | 菜鸟教程 JS正则表达式语法大全&#xff08;非常详细&#xff09; 二、使用场景 2.1、校验中国大陆手机号的正则表达式 正则 /^1[3456789]\d{9}$/解释 序号正则解释1^1以数字 1 开头2[3456789]第二位可以是 3、4、5、6、7、8、…...

自动化测试框架unittest与pytest的区别!

引言 前面文章已经介绍了python单元测试框架&#xff0c;大家平时经常使用的是unittest&#xff0c;因为它比较基础&#xff0c;并且可以进行二次开发&#xff0c;如果你的开发水平很高&#xff0c;集成开发自动化测试平台也是可以的。而这篇文章主要讲unittest与pytest的区别&…...

【Git】

学习来自于&#xff1a; 女朋友乱用Git&#xff0c;差点把我代码删了。。。 一些常用的Git 知识点整理 关于Git这一篇就够了 Git基本命令大全 30分钟精通Git&#xff0c;学不会来找我 Git 版本管理 | 莫烦PYTHON Git 代码版本管理教程 文章目录 【前言】集中式与分布式的…...

[论文笔记] CLRerNet: Improving Confidence of Lane Detection with LaneIoU

Honda, Hiroto, and Yusuke Uchida. “CLRerNet: Improving Confidence of Lane Detection with LaneIoU.” arXiv preprint arXiv:2305.08366 (2023). 2023.05 出的一篇车道线检测的文章, 效果在CULane, CurveLanes SOTA 文章目录 简介LaneIoULineIoU存在问题为什么使用LaneIo…...

LeetCode|backtracking|review:40. 131. 93. 47. 332. | 37. Sudoku Solver

复习&#xff1a; 40. Combination Sum II [1,1,2,3]中&#xff0c;答案里有[1,1,2], 但是不能有两个[1,2,3] 131. Palindrome Partitioning 每个for都是在给定的start之后找一个palindrome。当start 93. Restore IP Addresses forloop每次loop都是在给定的start的后三个数…...

被泼冷水后,谁能超越微服务?

历史总会重演。一切刚过去的&#xff0c;又会被重新提起。开源项目Codename One的联合创始人Shai&#xff0c;曾是Sun Microsystems开源LWUIT项目的共同作者&#xff0c;参与了无数开源项目。作为最早一批Java开发者&#xff0c;最近感慨道&#xff1a;单体&#xff0c;又回来了…...

多线程(JavaEE初阶系列5)

目录 前言&#xff1a; 1.什么是定时器 2.标准库中的定时器及使用 3.实现定时器 结束语&#xff1a; 前言&#xff1a; 在上一节中小编给大家介绍了多线程中的两个设计模式&#xff0c;单例模式和阻塞式队列模式&#xff0c;在单例模式中又有两种实现方式一种是懒汉模式&a…...

Minimum Snap闭式求解相关公式推导

文章目录 1 M i n i m u m Minimum Minimum S n a p Snap Snap闭式求解的推导1.1 二次规划等式约束构建1.2 求 d d d1.3 转成无约束优化问题 1 M i n i m u m Minimum Minimum S n a p Snap Snap闭式求解的推导 可以看看我的这几篇Blog1&#xff0c;Blog2&#xff0c;Blog…...

Spring源码(五)— 解析XML配置文件(一) bean标签解析流程

前面几章的内容已经介绍了BeanFactory创建前的准备工作&#xff0c;以及加载XML配置文件前的准备的步骤。本章会着重介绍解析XML的步骤。 registerBeanDefinitions 前几个方法不做过多的赘述&#xff0c;着重看registerBeanDefinitions方法中解析XML的步骤。 public int regi…...

隐私政策声明

http://lxfamn.cn/tools 我们注重对您个人隐私的保护。有时候我们需要某些信息才能为您提供您请求的服务&#xff0c;本隐私声明解释了这些情况下的数据收集和使用情况。本隐私声明适用于本网站的所有相关服务。如果您访问本网站、使用本网站的任何服务&#xff0c;那么您便接受…...

Flutter 最佳实践和编码准则

Flutter 最佳实践和编码准则 视频 前言 最佳实践是一套既定的准则&#xff0c;可以提高代码质量、可读性和可靠性。它们确保遵循行业标准&#xff0c;鼓励一致性&#xff0c;并促进开发人员之间的合作。通过遵循最佳实践&#xff0c;代码变得更容易理解、修改和调试&#xff…...

LangChain Agents深入剖析及源码解密上(一)

LangChain Agents深入剖析及源码解密上(一) LangChain Agents深入剖析及源码解密上 Agent工作原理详解 本节会结合AutoGPT的案例,讲解LangChain代理(Agent)为核心的内容。我们前面已经谈了代理本身的很多内容,也看了绝大部分的源代码,例如:ReAct的源代码,还有mrkl的源代…...

css定义超级链接a标签里面的title的样式

效果: 代码: 总结:此css 使用于任何元素,不仅仅是a标签!...

高效代码分析利器:cloc工具全场景使用指南

1. 为什么你需要cloc这个代码统计神器 第一次接手一个遗留项目时&#xff0c;我盯着密密麻麻的目录树发愁&#xff1a;这堆代码到底有多少实际内容&#xff1f;注释占比多少&#xff1f;不同语言的文件各有多少&#xff1f;直到同事推荐了cloc工具&#xff0c;输入一行命令就得…...

ai辅助开发c语言:如何利用快马智能编程助手精通数据结构与算法

今天想和大家分享一个特别实用的学习经验——如何用AI辅助工具高效学习C语言的数据结构与算法。作为一个刚接触数据结构的小白&#xff0c;我在实现单链表时遇到了不少坑&#xff0c;但通过InsCode(快马)平台的AI编程助手&#xff0c;整个过程变得轻松多了。 链表创建与节点插入…...

给数学恐惧症患者的DDPM前向扩散公式拆解:从‘图像变糊’到一行代码生成任意噪声图

给数学恐惧症患者的DDPM前向扩散公式拆解&#xff1a;从‘图像变糊’到一行代码生成任意噪声图 想象一下&#xff0c;你正在搅拌一杯咖啡。最初&#xff0c;咖啡是纯黑色的&#xff0c;但随着你不断加入牛奶&#xff0c;颜色逐渐变浅&#xff0c;最终变成一杯乳白色的液体。这…...

重新定义交通安全研究范式:基于无人机轨迹数据的数字孪生解决方案

重新定义交通安全研究范式&#xff1a;基于无人机轨迹数据的数字孪生解决方案 【免费下载链接】UCF-SST-CitySim1-Dataset 项目地址: https://gitcode.com/gh_mirrors/ucf/UCF-SST-CitySim-Dataset 在自动驾驶技术快速发展的今天&#xff0c;传统交通安全研究面临着一个…...

Alpamayo-R1-10B参数详解:Top-p=0.98与Temperature=0.6组合的工程意义解析

Alpamayo-R1-10B参数详解&#xff1a;Top-p0.98与Temperature0.6组合的工程意义解析 1. 项目背景与技术架构 1.1 Alpamayo-R1-10B核心定位 Alpamayo-R1-10B是NVIDIA开发的自动驾驶专用视觉-语言-动作(VLA)模型&#xff0c;其核心设计目标是通过类人因果推理能力提升自动驾驶…...

Qt6.10.1 + QCustomPlot 2.1.1 串口绘图实战:从Qt5老项目迁移到新版本的完整踩坑记录

Qt6.10.1与QCustomPlot 2.1.1串口绘图项目迁移实战指南 当Qt5项目需要升级到Qt6时&#xff0c;许多开发者都会面临兼容性挑战。特别是那些涉及串口通信和数据可视化的项目&#xff0c;往往隐藏着不少"坑"。本文将带你完整走一遍从Qt5老项目迁移到Qt6.10.1的全过程&am…...

ESP32驱动MT6826S磁编码器:从接线防烧到实时速度计算(附完整Arduino库)

ESP32与MT6826S磁编码器实战指南&#xff1a;安全接线与高效数据采集 1. 硬件连接&#xff1a;避开那些可能毁掉你项目的陷阱 MT6826S磁编码器作为一款高精度角度测量器件&#xff0c;在机器人关节控制、无人机云台稳定等场景中表现优异。但许多开发者第一次接触这款编码器时&a…...

Kandinsky-5.0-I2V-Lite-5s企业应用:HR招聘海报→候选人互动式动态介绍视频生成

Kandinsky-5.0-I2V-Lite-5s企业应用&#xff1a;HR招聘海报→候选人互动式动态介绍视频生成 1. 引言&#xff1a;让招聘海报"活"起来 想象一下这样的场景&#xff1a;你的HR团队精心设计了一份招聘海报&#xff0c;但投递量却不如预期。问题可能出在传统静态海报难…...

OpenTelemetry Profiles 信号进入 Alpha 阶段:Elastic 对性能分析的持续承诺

作者&#xff1a;来自 Elastic Christos Kalkanis&#xff0c;Florian Lehner 及 Roger Coll OpenTelemetry Profiles 已正式达到 Alpha 阶段&#xff0c;将性能分析确立为第四种可观测性信号。Elastic 的核心贡献包括其 eBPF 性能分析代理、持续的 OpenTelemetry Profiles 信号…...

it-tools:Docker一键部署,中文界面即开即用

1. 为什么选择Docker部署it-tools&#xff1f; 最近在帮团队搭建开发环境时&#xff0c;发现很多同事都在反复安装各种零散的小工具——JSON格式化、时间戳转换、密码生成器...既占用本地资源又难以统一管理。直到发现了it-tools这个神器&#xff0c;它把200实用工具打包成Web应…...