uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

这篇具有很好参考价值的文章主要介绍了uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:之前小程序做的图表,当时没找到太多使用echarts的教程,大多都是二次封装的。连uniapp都是推荐别人二次封装的图表,然后用了之后呢,发现不是自己想要的效果(也许是自己对别人二次封装的代码不够熟悉吧

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

),然后干脆摸索下uniapp引入echarts图表(非他人封装的)。废话少说,看看成果~

参考uniapp自定义组件:https://uniapp.dcloud.net.cn/tutorial/miniprogram-subject.html

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

然后根据echarts官网提供跨平台方案中的微信小程序:

https://echarts.apache.org/handbook/zh/how-to/cross-platform/wechat-app

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

打开echarts-for-weixin项目:

https://github.com/ecomfe/echarts-for-weixin

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

根据要求,克隆该项目。首先上面说了,创建一个以wxcomponents为命名的文件夹,将改项目克隆到此文件夹中。

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

引入之后,还需要兼容一下。在page.json全局属性添加以下代码兼容。(注意路径~)

"globalStyle": {    "usingComponents": {      // echarts 图表      // #ifdef APP-PLUS || H5 || MP-WEIXIN || MP-QQ      "ec-canvas": "/wxcomponents/ec-canvas/ec-canvas" // 声明echarts的小程序组件 页面级配置是不生效的 只能在app.config.js里配置usingComponents      // #endif    }  }

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

使用过程:

创建一个test.vue文件,引入echarts

<script>import * as echarts from '@/wxcomponents/ec-canvas/echarts'</script>

标签使用:

<template>  <view class="container">    <view class="chart-container">      <ec-canvas        ref="chart"        id="chart-bar-canvas"        class="chart-bar-canvas"        :ec="ec"      ></ec-canvas>    </view>  </view></template>

还要初始化及数据赋值

<script>import * as echarts from '@/wxcomponents/ec-canvas/echarts'const option = {  xAxis: {    type: 'category',    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']  },  yAxis: {    type: 'value'  },  series: [    {      data: [150, 230, 224, 218, 135, 147, 260],      type: 'line'    }  ]}const echartsUtils = {  ec: {    lazyLoad: true,    onInit: (chartRef, echarts) =>      new Promise(resolve => {        chartRef.init((canvas, width, height, dpr) => {          const chartsInstance = echarts.init(canvas, null, {            width: width,            height: height,            devicePixelRatio: dpr // 像素          })          canvas.setChart(chartsInstance)          resolve(chartsInstance)          return chartsInstance        })      })  }}export default {  data () {    return {      ec: echartsUtils.ec    }  },  onReady: function () {    this.ec.onInit(this.$refs.chart, echarts).then(chart => {      chart.setOption(option)    })  },}</script>

完整demo代码

<template>  <view class="container">    <view class="chart-container">      <ec-canvas        ref="chart"        id="chart-bar-canvas"        class="chart-bar-canvas"        :ec="ec"      ></ec-canvas>    </view>  </view></template><script>import * as echarts from '@/wxcomponents/ec-canvas/echarts'const 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)'      }    }  ]}const echartsUtils = {  ec: {    lazyLoad: true,    onInit: (chartRef, echarts) =>      new Promise(resolve => {        chartRef.init((canvas, width, height, dpr) => {          const chartsInstance = echarts.init(canvas, null, {            width: width,            height: height,            devicePixelRatio: dpr // 像素          })          canvas.setChart(chartsInstance)          resolve(chartsInstance)          return chartsInstance        })      })  }}export default {  data () {    return {      ec: echartsUtils.ec    }  },  onReady: function () {    this.ec.onInit(this.$refs.chart, echarts).then(chart => {      chart.setOption(option)    })  },}</script><style lang="scss">.chart-container {  height: 500px;  .chart-bar-canvas {    width: 100%;    height: 500px;  }}</style>

效果查看:

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

实战应用:应用到项目的时候,会有这样的问题,在赋值series:[]时候记得赋值类型,否则不显示

实战应用:

<template><view class="chart-container">    <ec-canvas     ref="chart"     id="chart-bar-canvas"     class="chart-bar-canvas"     :ec="ec"    ></ec-canvas></view></template>
<script>import * as echarts from '../../wxcomponents/ec-canvas/echarts'const option = {  title: {    text: '裸眼视力'  },  tooltip: {    trigger: 'axis'  },  legend: {    right:0 ,    data: ['右眼', '左眼'],  },  grid: {    left: '10%',    right: '10%',    bottom: '10%',    containLabel: true  },  xAxis: {    type: 'category',    boundaryGap: false,    data: []  },  yAxis: {    type: 'value'  },  series: []}const echartsUtils = {  ec: {    lazyLoad: true,    onInit: (chartRef, echarts) =>      new Promise(resolve => {        chartRef.init((canvas, width, height, dpr) => {          const chartsInstance = echarts.init(canvas, null, {            width: width,            height: height,            devicePixelRatio: dpr // 像素          })          canvas.setChart(chartsInstance)          resolve(chartsInstance)          return chartsInstance        })      })  },}export default {  data () {    return {      ec:echartsUtils.ec,    }  },  methods: {    // 因为是tabs标签,所以我选择在选中某个标签时进行初始化    selectIndex(index) {      if (index == 1) {        this.$nextTick(() => {          this.ec.onInit(this.$refs.chart, echarts).then(chart => {            chart.setOption(option)          })       }    }  }}</script>

数据获取就忽略了,自己根据数据整合

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

效果图:

uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化

教程结束咯,记得点赞收藏。不懂的下方评论,或私聊文章来源地址https://www.toymoban.com/news/detail-493614.html

到了这里,关于uniapp小程序使用原生echarts非第三方封装 小程序使用echarts 图表 可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 微信小程序使用第三方插件

    微信小程序使用第三方插件

    这里是使用npm方式安装第三方插件: 1,首先新建一个微信小程序项目并找到该项目的文件地址, 如下图: 该项目中我以安装 weui插件为例进行演示。在上图中的目录中打开PowerShell窗口,先要进行npm 初始化,输入npm help init  ,默认回车下一步下一步就ok; 2,输入命令:npm in

    2024年02月08日
    浏览(32)
  • 微信小程序 - 使用第三方字体

    在微信小程序中,我们可以通过引入第三方字体来实现更加个性化和独特的文字效果。本文将详细介绍如何引入并使用第三方字体。 步骤一:选择字体文件 首先,我们需要选择一个适合的第三方字体文件。可以在网络上搜索并下载免费的字体文件,也可以购买商业字体。确

    2024年02月03日
    浏览(31)
  • Vue中如何使用Ajax请求是通过第三方库axios或者原生的fetch API来实现的

    在Vue中使用Ajax请求通常是通过第三方库,比如axios或者原生的fetch API来实现的。这里我将为你展示如何使用axios库在Vue中进行Ajax请求。 首先,你需要安装axios库。你可以通过npm或者yarn来安装: 使用npm: bash     复制 npm install axios 或者使用yarn: bash 复制 yarn add axios 安装完成后

    2024年04月13日
    浏览(40)
  • 微信小程序使用 npm 安装第三方包

    微信小程序使用 npm 安装第三方包

    微信小程序支持使用 npm 安装第三方包。 在小程序根目录下执行 npm install 第三方包名 安装 npm 包。 点击开发者工具中的菜单栏: 工具 -- 构建 npm 完成构建。 就可以使用 npm 包了。

    2024年02月11日
    浏览(35)
  • 微信小程序使用第三方ui组件库

    微信小程序使用第三方ui组件库

    第三方的ui组件有很多,本篇文章主要介绍Vant Weapp。 https://vant-contrib.gitee.io/vant-weapp/#/quickstart 先在微信开发者工具终端通过命令安装vant weapp: 通过 npm 安装 npm i @vant/weapp -S --production 通过 yarn 安装 yarn add @vant/weapp --production 安装 0.x 版本 npm i vant-weapp -S --production 安装vant weap

    2024年02月12日
    浏览(37)
  • 微信小程序使用webview打开第三方地址

    1、在page下创建一个webview目录文件包含index.js index.wxml,配置好路由 2、index.js 3、index.wxml 4、跳转 (地址后拼接参数需要转码) 注意:webview页面的title 取得是第三方地址的title标签的内容,且webview页面不支持自定义标题

    2024年02月10日
    浏览(32)
  • 微信小程序使用nginx跳转第三方url

    微信小程序使用nginx跳转第三方url

    先在微信公众平台配置号域名   服务器域名和业务域名都配置好 然后微信小程序使用 web-view标签进行跳转 nginx配置:域名必须有ssl证书,不然还是访问不了 sub_filter如果nginx没装的话需要装一下 首先需要git安装 ngx_http_substitutions_filter_module git没安装:yum -y install git 安装了:

    2024年02月10日
    浏览(34)
  • uniapp 对接谷歌第三方登录

    uniapp 对接谷歌第三方登录

    1.登录谷歌开发者后台 https://console.developers.google.com/ 2.添加凭证 3.拿到客户端id后,项目中配置google登录:  示例代码:

    2024年04月29日
    浏览(7)
  • 使用Visual Studio打造强大的程序,从添加第三方库开始

    使用Visual Studio打造强大的程序,从添加第三方库开始

    💡一个热爱分享高性能服务器后台开发知识的博主,目标是通过理论与代码实践的结合,让世界上看似难以掌握的技术变得易于理解与掌握。技能涵盖了多个领域,包括C/C++、Linux、Nginx、MySQL、Redis、fastdfs、kafka、Docker、TCP/IP、协程、DPDK等。 👉 🎖️ CSDN实力新星,CSDN博客专

    2024年02月16日
    浏览(12)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包