iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >原生微信小程序使用u-charts(组件版)折线图示例
  • 294
分享到

原生微信小程序使用u-charts(组件版)折线图示例

微信小程序小程序微信 2023-09-04 19:09:13 294人浏览 泡泡鱼
摘要

一、写在前面         之前一直使用的都是 wx-charts,链接: xiaolin3303/wx-charts: 微信小程序图表charts组件 ,但是这个库已经五六年没有维护了,经常出现 canvas层级过高弹窗无法覆盖等问题(

一、写在前面

        之前一直使用的都是 wx-charts,链接: xiaolin3303/wx-charts: 微信小程序图表charts组件 ,但是这个库已经五六年没有维护了,经常出现 canvas层级过高弹窗无法覆盖等问题(微信小程序前面新推出了 canvas-2d,解决了这个问题)

        摸索了官网文档一个下午,今天来介绍以下 u-charts 的组件版的基本使用,官网 uCharts官网 - 秋云uCharts跨平台图表库,下面这些tab可能会帮助到你

 

二、下载组件

源码地址:uCharts: 高性能跨平台图表库 微信小程序 (gitee.com)

点进去找到 “微信小程序

选择组件版 (原生版也可以,但是需要自己创造实例,比较麻烦,我折腾了几个小时后 换成了组件版发现快多了)

点进去,把src下的文件全部拷贝下来 (可以把整个仓库下载为zip,再找到这里面,就可以一键复制了)

 在微信小程序根目录下 新建一个文件夹 components

然后再在components下新建一个文件夹,取名 qiun-wx-ucharts

把上面src里面的所有文件,都复制粘贴到 qiun-wx-ucharts 里

 至此,就可以直接使用了

三、基本使用

在需要使用图表的页面(假设页面为 test.wxml )

1.test.JSON 引入组件

{  "usinGComponents": {    "qiun-wx-ucharts": "/components/qiun-wx-ucharts/index"  }}

 2.test.wxml 放置组件

  

3.test.wxss 设置组件宽高

这是必须配置的CSS,组件会自动获取css的宽高,来给canvas设置宽度 (下面的 .table 是组件的父元素的类名)

  .table {    width: 100%;    height: 300px;  }

4.test.js 配置数据

折线的数据目前是写死的,你可以根据你的需要,去更新 this.data.chartData ,图表会自动重绘

// pages/chart/chart.jsPage({    data:{    chartData: {},//数据里包含了 cateGories x轴数组,series 需要绘制的曲线数组    opts: {//配置项,这里只展示了部分,关于配置项的详细解释可以到官网文档查看     color: ["#1890FF", "#91CB74"],     enableScroll: false,//是否开启滚动     dataLabel: false,     xAxis: {       disableGrid: true,//是否 不纵向绘制网格       type: 'grid',       gridType: 'dash',       scrollBackgroundColor: '#00000000',//默认为 #EFEBEF       scrollColor: '#DEE7F7',//默认为 #A6A6A6       rotateLabel: true,//开启文字旋转功能     },     yAxis: {       gridType: "dash",       dashLength: 2,     },     extra: {       line: {         type: "curve",         width: 2,         activeType: "hollow"       }     }   }, },    onLoad(options) {    let data = { // 数据里包含了 categories x轴数组,series 需要绘制的曲线数组      categories: ["2016","2017","2018","2019","2020","2021"],      series: [        {          name: "目标值",          data: [35,36,31,33,13,34]        },        {          name: "完成量",          data: [18,27,21,24,6,28]        }      ]    };    //只要给 chartData 修改了值,就会触发图表的重新绘制    this.setData({      chartData : JSON.parse(JSON.stringify(data)) //深拷贝数据,防止出现问题    })  },    onReady() {  },    onShow() {  },    onHide() {  },    onUnload() {  },    onPullDownRefresh() {  },    onReachBottom() {  },    onShareAppMessage() {  }})

5.效果示例

点击后可以查看数据点 

 

四、进阶用法

1.开启滚动

当数据量很多的时候,折线的点就会堆积在一起,很不美观

我们可以开启滚动模式,设置一屏幕展示多少个数据项,就可以更美观了

(1)在js文件的data中修改以下配置项:

 opts.enableScroll 改为 true,开启滚动模式 必须填写

opts.xAxis.itemCount 设置为“一屏幕想展示的数据量” Number 必须填写

(2)在wxml文件中

 给组件props新增一个 ontouch="true"  这一点官网文档没写明,我试了很久才发现要这个东西,才能滚动

(3)代码

js文件中修改opts:

//在上文js代码中,修改 data里的opts opts: {//配置项,这里只展示了部分,关于配置项的详细解释可以到官网文档查看      color: ["#1890FF", "#91CB74"],      enableScroll: true,//是否开启滚动 ————滚动需要的配置      xAxis: {        disableGrid: true,//是否 不纵向绘制网格        type: 'grid',        gridType: 'dash',        itemCount: 10,//x轴单屏显示数据的数量,默认为5个 ————滚动需要的配置        scrollBackgroundColor: '#00000000',//默认为 #EFEBEF        scrollColor: '#DEE7F7',//默认为 #A6A6A6        rotateLabel: true,//开启文字旋转功能      },      yAxis: {        gridType: "dash",        dashLength: 2,      },      extra: {        line: {          type: "curve",          width: 2,          activeType: "hollow"        }      }    },

wxml里新增一个props传递 ontouch 

  

效果

向右滑动 

关于滚动还有一些其他配置项,详情到官网文档查看

注意:开启滚动后,在微信小程序开发者工具观看会有异常,但是实际是没问题的,请扫码观看 

2.点击后获取数据索引 (获取当前点击的数据)

getIndex 官网文档

 

这个在官网文档的示例全是 uniapp 的,找不到微信小程序的,连问答区都没人问这个问题。

涉及知识点:给自定义组件传递自定义事件

上面文档中 @getIndex 这种有 @ 符的是uniapp的写法,在微信小程序中并不适合

然而又不想使用原生的创建实例的方法,只想用组件形式(我们现在讲的是组件方法,原生方法是 引入 u-charts.js 文件后,new一个uCharts实例出来操作,比较复杂)

其实很简单,给小程序自定义组件传递自定义事件,只需要 bind:xxx="xxxx"  

我们需要传递 getIndex 这个自定义事件,就写   bind:getIndex="touchcanvas" (其中touchcanvas是在当前页面绑定的函数,getIndex是自定义事件的名称)

  

然后在js文件里,写 touchcanvas 函数,通过e就能获取数据的索引号了

  //图表点击操作  touchcanvas(e) {    let index = e.detail.currentIndex.index //这个就是数组的索引        let arr = [         //....    ]; //假设这里面装了图表正在展示的数据    //就能通过 arr[index] 获取当前点击的数据    console.log(index, arr[index] )  },

五、最后

        这篇文章只讲述了折线图的基本使用方法,更多配置项建议阅读官方文档 (链接在文章开头)

        本文的第四点 进阶用法,是我的踩坑记录:1. 为什么设置了允许滚动,滑动页面没有效果?2.到底怎么获取索引号?为什么官网都是uniapp的演示,找不到我想要的内容

来源地址:https://blog.csdn.net/m0_64130892/article/details/129450721

--结束END--

本文标题: 原生微信小程序使用u-charts(组件版)折线图示例

本文链接: https://www.lsjlt.com/news/394206.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 原生微信小程序使用u-charts(组件版)折线图示例
    一、写在前面         之前一直使用的都是 wx-charts,链接: xiaolin3303/wx-charts: 微信小程序图表charts组件 ,但是这个库已经五六年没有维护了,经常出现 canvas层级过高弹窗无法覆盖等问题(...
    99+
    2023-09-04
    微信小程序 小程序 微信
  • 微信小程序如何使用图表插件wx-charts
    这篇文章主要介绍了微信小程序如何使用图表插件wx-charts,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。微信小程序图表工具,charts...
    99+
    2024-04-02
  • wx-charts中如何使用微信小程序图表插件
    小编给大家分享一下wx-charts中如何使用微信小程序图表插件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信小程序图表插件...
    99+
    2024-04-02
  • 微信小程序显示loading效果,微信小程序节流效果,微信小程序生命周期,微信小程序组件的创建与使用
    一、显示loading效果         文档地址:wx.showLoading(Object object) | 微信开放文档         请求前 显示loading 效果,请求结束后隐藏loading // 在请求模块中wx.sh...
    99+
    2023-09-14
    微信小程序 小程序 微信
  • 微信小程序怎么使用自定义组件封装原生image组件
    本文小编为大家详细介绍“微信小程序怎么使用自定义组件封装原生image组件 ”,内容详细,步骤清晰,细节处理妥当,希望这篇“微信小程序怎么使用自定义组件封装原生image组件 ”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习...
    99+
    2023-06-26
  • 微信小程序组件事件的示例分析
    这篇文章主要介绍了微信小程序组件事件的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。组件事件事件系统是组件间交互的主要形式。自定义组件可以触发任意的事件,引用组件的页...
    99+
    2023-06-26
  • 微信小程序---组件通信---使用selectComponent获取组件实例
    微信小程序—组件通信—使用selectComponent获取组件实例 子组件component wxml {{count}} js properties: {count:Number }, methods: {addCount(){...
    99+
    2023-08-18
    微信小程序 小程序 前端
  • 在微信小程序中如何使用canvas绘制天气折线图
    今天小编给大家分享一下在微信小程序中如何使用canvas绘制天气折线图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。折线效果...
    99+
    2023-06-29
  • 微信小程序组件列表的示例分析
    这篇文章将为大家详细讲解有关微信小程序组件列表的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。基础组件框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行快速开发。什么是组件:组件...
    99+
    2023-06-26
  • 微信小程序swiper轮播图组件如何使用
    本篇内容介绍了“微信小程序swiper轮播图组件如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在components中新建文件夹sw...
    99+
    2023-07-02
  • 微信小程序组件化开发的示例介绍
    目录前言组件的定义组件的生命周期组件的通信事件传递共享数据自定义事件前言 随着小程序的普及,越来越多的开发者开始使用小程序进行开发,而小程序的组件化开发已经成为了一种标配的开发模式。...
    99+
    2023-05-13
    小程序组件化开发 微信小程序开发
  • 微信小程序时间轴组件的示例代码
    我这里的标题是小程序的时间组件,其实我这里是将他写成了一个页面,当然,如果你有需求,将其做成一个自定义组件也可以~ 这玩意其实没有什么技术难点就是一个小页面,我这里就不赘述了。直接上...
    99+
    2024-04-02
  • 微信小程序progress组件怎么使用
    微信小程序中的progress组件用于显示进度条,可以用来展示加载、上传等进度。以下是使用progress组件的步骤: 在wxml...
    99+
    2024-04-09
    微信小程序 progress
  • 微信小程序常用视图容器组件使用详解
    目录1、组件概述2、常用的试图容器组件2.1 view2.2 scroll-view2.3 swiper1、组件概述 组件是视图层基本的组成单元,具备UI风格样式以及特定的功能效果。...
    99+
    2024-04-02
  • 微信小程序常用视图容器组件如何使用
    这篇文章主要讲解了“微信小程序常用视图容器组件如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“微信小程序常用视图容器组件如何使用”吧!1、组件概述组件是视图层基本的组成单元,具备UI风...
    99+
    2023-06-29
  • 微信小程序使用ECharts的示例详解
    目录安装 ECharts 组件使用 ECharts 组件图表延迟加载echarts-for-weixin 是 ECharts 官方维护的一个开源项目,提供了一个微信小程序组...
    99+
    2024-04-02
  • 微信小程序swiper轮播图组件使用方法详解
    本文实例为大家分享了微信小程序swiper轮播图组件的使用,供大家参考,具体内容如下 在components中新建文件夹swiper components/swiper/swiper...
    99+
    2024-04-02
  • 微信小程序弹窗组件如何使用
    本篇内容主要讲解“微信小程序弹窗组件如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序弹窗组件如何使用”吧!效果图需求背景项目需求是需要在页面上通过点击按钮, 然后弹出弹窗蒙层; ...
    99+
    2023-07-02
  • 微信小程序组件中如何使用contact-button组件
    这篇文章将为大家详细讲解有关微信小程序组件中如何使用contact-button组件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。微信小程序组件 contact-butt...
    99+
    2024-04-02
  • 微信小程序弹窗组件使用详解
    介绍 最近在开发小程序应用, 发现小程序当中有关于组件的介绍非常的少, 当前自己做的项目当中,有出现过这种情况, 所以自己就封装了一个小程序的弹窗组件, 现在把自己的心得分享给大家,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作