我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Uniapp中怎么使用Echarts

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Uniapp中怎么使用Echarts

这篇文章主要介绍“Uniapp中怎么使用Echarts”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Uniapp中怎么使用Echarts”文章能帮助大家解决问题。

一、视图层

画图依赖于canvas标签,记得给它一个id名。

<template>  <view class="dataTable">    <u-toast ref="uToast" />    <view class="dataTable-canvas">      <view class="dataTable-canvas-title">        <text>          近七日学生上报统计        </text>      </view>      <canvas id="myEcharts"></canvas>    </view>  </view></template>

二、逻辑层

<script>// 将npm方式下载的echarts插件引入进来import * as echarts from 'echarts';// 接口import { getWeekStuReport } from '@/api/dataTable/dataTable.js'; export default {  data() {    return {      // 这里初始化一个null,待会儿用来充当echarts实例      myChart: null,    }  },  onLoad(options) {    let that = this;    // 通过nextTick异步画图    this.$nextTick(() => {      that.drawLines();    });  },  beforeDestroy() {    // 页面关闭时销毁echarts实例    this.myChart.clear();    this.myChart.dispose();  },  methods: {    async drawLines() {      // 这里是初始化的方式,通过id查询找到你的canvas标签      this.myChart = echarts.init(document.getElementById('myEcharts'));      // 这里我初始化了4个数组用来存放 后端接口给我的数据      let data = [];      let tian = [];      let reportLine = [];      let notReportLine = [];      try {        let res = await getWeekStuReport();        console.log(res);        if (res.code != 0) {          this.$refs.uToast.show({            title: res.message,            type: 'error',            duration: 3000,          });        } else {          data = res.result;          data.forEach((item) => {            // 从接口中提取自己想要的数据            tian.push(item.type);            reportLine.push(item.sbNum);            notReportLine.push(item.notSbNum);          })        }      } catch (e) {        console.log(e);      }       // 这里开始就是echarts的配置项了      let option = {        // x轴数据        xAxis: {          type: 'category',          data: tian,        },        // y轴数据        yAxis: {          type: 'value',        },        // 这里写2个对象是2条线条,3个则是3条        series: [          {            // data使用刚才定义的数组,数据从后端接口中取得            data: reportLine,            type: 'line',            smooth: true,          },          {            data: notReportLine,            type: 'line',            smooth: true,          },        ],        grid: {          // 这里可以防止Y轴显示不全          containLabel: true        }      }       // 这里不要忘记把option设置给echarts实例      this.myChart.setOption(option);       // 这里是用于窗口变化时的自适应,利用的是echarts自带的resize方法      // 如果你打印出来这个echarts实例,可以在函数里面找到这个方法      window.addEventListener('resize', () => {        this.myChart.resize()      });    },  },}</script>

三、样式

记得给canvas宽高就行。

<style scope lang="scss">.dataTable{  padding: 10rpx;  width: 100%;  height: 100%;  &-canvas {    &-title {      padding: 20rpx 0rpx;      > text {        padding-left: 20rpx;        width: 100%;        height: 100%;        font-size: 32rpx;        font-weight: 550;        line-height: 32rpx;        border-left: 10rpx solid #28b5b1;      }    }    #myEcharts {      width: 100%;      height: 600rpx;    }  }}</style>

uni-app微信小程序使用echarts图表

前言:本来是使用的ucharts,但因为无法监听图例点击交互,满足不了需求,所以只能放弃。

首先,下载echart组件。可以先随便建个文件夹,然后 npm init。接着下载依赖

npm install echarts mpvue-echarts

然后找到 node_modules\mpvue-echarts\下的文件,如图

Uniapp中怎么使用Echarts

只留下class="lazy" data-src,其他的删掉(没有用到)。然后复制 mpvue-echarts文件夹到你项目的components中。如图

Uniapp中怎么使用Echarts

接着需要echarts.min.js文件。

链接: ECharts 在线构建定制echarts的js文件,选择自己项目需要的图表及组件,可以选择进行代码压缩。
把下载下来的 echarts.min.js放到你的项目中。!!!还需要修改里面的代码,

!!!修改 echarts.min.js,否则会报错 t.addEventListener is not a function。

增加代码

var isDomLevel2 = (typeof window !== 'undefined') && !!window.addEventListener;

如下图

Uniapp中怎么使用Echarts

修改 Le 和 Pe 函数(可通过ctrl+f搜索)如下

// An highlighted block    function Pe(t, e, n, i) {        if (isDomLevel2) {            t.addEventListener(e, n, i)        } else {            t.attachEvent('on' + e, n)        }    }    function Le(t, e, n, i) {        if (isDomLevel2) {            t.removeEventListener(e, n, i)        } else {            t.detachEvent('on' + e, n)        }    }

全文搜索 preventDefault() 修改当前的方法函数增加判断(我一开始没改这个,图表正常没啥问题,但是我用dataZoom滑动时会报错“t.preventDefault is not a function”,然后改为如下代码后就能正常滑动了)

如下

// An highlighted block    if (isDomLevel2) {         t.preventDefault(), t.stopPropagation(), t.cancelBubble = !0    } else {         t.returnValue = false;         t.cancelBubble = !0    }

压缩的代码格式化后体积增加了1倍,所以我最后没有格式化,直接在压缩的代码里找到对应位置修改的。 需要准备的东西都已经好了,接下来正片开始!! 在页面中使用:

<template>  <view class="echarts-wrap">    <my-echarts      id="main"      ref="mapChart"      :echarts="echarts"      :onInit="initChart"    />  </view></template> <script>import * as echarts from "@/pages/data/static/js/echarts.min.js";  //这里根据自己存放的路径修改import myEcharts from "@/pages/data/components/mpvue-echarts/class="lazy" data-src/echarts.vue"; //这里根据自己存放的路径修改let chart = null;  //放外层方便拿到echart实例export default {  components: {    myEcharts,  },  data() {    return {      echarts,    };  },  onReady() {},  mounted() {    setTimeout(() => {      chart.on("click", (params) => {  //监听图例点击事件(详细参见echart文档)        this.$emit("chartClick", params);      });    }, 500);    this.updateData() //模拟动态更新数据  },  methods: {    initChart(canvas, width, height) {      chart = echarts.init(canvas, null, {        width: width,        height: height,      });      canvas.setChart(chart);      var 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",          },        ]      }; // ECharts 配置项(详细的图表配置参见 echart配置项)      chart.setOption(option);      return chart; // 返回 chart 后可以自动绑定触摸操作    },    updateData(){        setTimeout(()=>{            chart.setOption({                series:[{                    data:[30, 90, 111, 20, 70, 88, 11]                }]            })        },1000)    },  },};</script> <style>.echarts-wrap {  width: 100%;  height: 300px;}</style>

效果:

Uniapp中怎么使用Echarts

关于“Uniapp中怎么使用Echarts”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Uniapp中怎么使用Echarts

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

下载Word文档

猜你喜欢

Uniapp中怎么使用Echarts

这篇文章主要介绍“Uniapp中怎么使用Echarts”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Uniapp中怎么使用Echarts”文章能帮助大家解决问题。一、视图层画图依赖于canvas标签
2023-07-04

Uniapp中使用Echarts的详细过程

这篇文章主要介绍了Uniapp中使用Echarts的示例详解这里只举例折线图,介绍了uni-app微信小程序使用echarts的方法,下载echart组件,可以先随便建个文件夹,然后npminit,接着下载依赖,需要的朋友可以参考下
2022-11-13

uniapp中怎么使用nvue

这篇文章主要介绍“uniapp中怎么使用nvue”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“uniapp中怎么使用nvue”文章能帮助大家解决问题。开始创建第一个 nvue 页面。目录结构:ind
2023-07-04

Uniapp中colorui怎么使用

Uniapp是一款基于Vue.js的开发框架,可以一次编写代码,将应用程序部署到多个平台,如Web、iOS、Android等。ColorUI是Uniapp框架中的一种UI框架,它提供了丰富的UI组件、模板和样式,使得开发者可以快速开发出美观、简洁的应用。本文将介绍在Uniapp中使用ColorUI的步骤和方法,包括环境配置、组件引入和样式使用等。一、环境配置在使用ColorUI
2023-05-22

ECharts怎么使用

本文小编为大家详细介绍“ECharts怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“ECharts怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、canvas特点:依赖分辨率不支持事件处理器弱
2023-07-01

uniapp中的easycom怎么使用

这篇文章主要介绍了uniapp中的easycom怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇uniapp中的easycom怎么使用文章都会有所收获,下面我们一起来看看吧。什么是easycom?easy
2023-07-05

angular中怎么使用echarts地图

这篇文章将为大家详细讲解有关angular中怎么使用echarts地图,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在angular中使用echart的时候,只需要在对应的组件生命周期中调用echart的
2023-06-22

uniapp怎么使用uview

本文小编为大家详细介绍“uniapp怎么使用uview”,内容详细,步骤清晰,细节处理妥当,希望这篇“uniapp怎么使用uview”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。安装1.uview的安装方式有两种
2023-07-05

uniapp怎么使用stomp

随着现代 Web 应用程序的发展,越来越多的开发人员正在使用 WebSocket 技术来进行实时通信。但是,如果你需要使用消息代理,特别是 ActiveMQ 或 RabbitMQ,那么 STOMP 协议是另一个值得考虑的选择。而在开发移动应用程序时,Uniapp 是一个值得尝试的开发框架,它可以帮助你以更高效的方式开发跨平台应用程序。在这篇文章中,我们将会探讨如何在 Uniap
2023-05-22

怎么在uniapp项目中使用mqtt

这篇文章将为大家详细讲解有关怎么在uniapp项目中使用mqtt,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、uniapp插件市场的参考插件  https://ext.dcloud.net.cn/pl
2023-06-15

聊聊uniapp项目中怎么使用Axios

Uniapp 是基于 Vue.js 的跨平台开发框架,可以同时构建 iOS、Android 和 Web 应用,而 Axios 是一款流行的基于 Promise 的 HTTP 库。虽然 Uniapp 可以使用 Vue.js 自带的 $http,但也可以使用 Axios,只需要在项目中进行简单的配置。首先,需要通过 npm 安装 Axios。打开终端,输入以下命令:```npm i
2023-05-14

uniapp怎么使用audio标签

随着移动互联网的发展,音频相关应用也越来越受到用户的欢迎,比如音乐播放器、语音聊天、语音识别等等。而使用uniapp开发这些音频应用是非常方便的,其中有一个重要的组件就是<audio>标签。本文将介绍uniapp中如何使用<audio>标签,包括音频的播放、暂停、停止、和监听事件等。1. 基本使用方法在uniapp中,可以直接在页面的wxml文件中使用<audio>标签来嵌入音
2023-05-14

vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图

今天小编给大家分享一下vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一
2023-07-05

在mpvue中怎么使用echarts小程序组件

这篇文章主要讲解了“在mpvue中怎么使用echarts小程序组件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“在mpvue中怎么使用echarts小程序组件”吧!  具体操作  在 mpv
2023-06-26

vue中如何使用echarts

这篇文章主要介绍“vue中如何使用echarts”,在日常操作中,相信很多人在vue中如何使用echarts问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中如何使用echarts”的疑惑有所帮助!接下来
2023-07-05

怎么使用echarts制作迁徙图

要使用Echarts制作迁徙图,需要以下步骤:引入Echarts库。 在HTML文件中,使用创建一个具有指定宽度和高度的DOM容器。 在HTML文件中,创建一个元素,指定一个唯一的ID和所需的宽度和高度,例如:
2023-10-23

在Vue中怎么使用Echarts添加渐变线条

本篇内容主要讲解“在Vue中怎么使用Echarts添加渐变线条”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“在Vue中怎么使用Echarts添加渐变线条”吧!使用Echarts Gradient
2023-07-06

怎么使用Vue+Echarts绘制饼图

这篇文章主要介绍“怎么使用Vue+Echarts绘制饼图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Vue+Echarts绘制饼图”文章能帮助大家解决问题。1 引入Echarts1.1 安
2023-07-05

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录