Vue项目引入Echarts可视化图表库教程&踩坑

2023-10-26

Apache ECharts是一个基于 JavaScript 的开源可视化图表库,ECharts是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。ECharts最初由百度团队开源,并于2018年初捐赠给Apache基金会,成为ASF孵化级项目。

官网入口

简单来说,Echarts就是用来做数据可视化的,将一些有关联的数据源以图表的方式呈现,不仅方便阅读,一目了然,还可以增加网页的美化效果,增加逼格。

那么,在Vue项目引入Echarts可视化图表库时,我们主要分为三步:

1.安装Echarts;

2.引入Echarts库;

3.使用Echarts创建一个条形图示例;

1.安装Echarts;

这里安装的是Echarts库以及针对于Vue打包好的Echarts库

npm install echarts vue-echarts

 注:有些npm版本过高或者过低的时候下载Echarts的过程中可能会报错,遇到这种问题可以在后面加上 --legacy-peer-deps试试!如下:

npm install echarts vue-echarts --legacy-peer-deps

2.引入Echarts库;

 2.1全局引入

//main.js

import "echarts"
import ECharts from 'vue-echarts'

Vue.component('v-chart', ECharts) //Vue.2
或者
app.component('v-chart', ECharts) //Vue.3

 2.2按需引入

由于Vue.2和Vue.3的语法规范有点不一样,所以Vue.2和Vue.3的引入方法也有点不一样,这里需要分开说:

        Vue.2

//main.js

import Vue from 'vue'
import ECharts from 'vue-echarts'
import { use } from 'echarts/core'

import {
  CanvasRenderer
} from 'echarts/renderers'
import {
  BarChart
} from 'echarts/charts'
import {
  GridComponent,
  TooltipComponent
} from 'echarts/components'

use([
  CanvasRenderer,
  BarChart,
  GridComponent,
  TooltipComponent
]);

Vue.component('v-chart', ECharts)

new Vue(...)

        Vue.3

//main.js

import { createApp } from 'vue'
import ECharts from 'vue-echarts'
import { use } from "echarts/core";

import {
  CanvasRenderer
} from 'echarts/renderers'
import {
  BarChart
} from 'echarts/charts'
import {
  GridComponent,
  TooltipComponent
} from 'echarts/components'

use([
  CanvasRenderer,
  BarChart,
  GridComponent,
  TooltipComponent
]);

const app = createApp(...)

app.component('v-chart', ECharts)

app.mount(...)

3.使用Echarts创建一个条形图示例;

<template>
    <v-chart class="chart" :option="option" />
</template>
<script>
import VChart, { THEME_KEY } from "vue-echarts"
import { ref, defineComponent } from "vue"

export default defineComponent({
    name: "Echarts_bar",
    components: {
        VChart
    },
    provide: {
        [THEME_KEY]: "white" // 图表背景颜色值
    },
    setup: () => {
            // option主要数据
        const option = ref({ 
            //    图表标题以及标题位置'center'/'left'/'right'
            title: {
                text: "Bar Sources",
                left: "center"
            },
            //X轴数据
            xAxis: {
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            //Y轴数据
            yAxis: {
                type: 'value'
            },
            //主要表数据
            series: [
                {
                    data: [120, 200, 150, 80, 70, 110, 240],
                    //表形式 支持'bar'/'pie'/'line'等多种
                    type: 'bar'
                }
            ]
        });

        return { option };
    }
});
</script>
<style scoped>
//表高度(必须值)
.chart {
    height: 228px;
}
</style>

如图示例代码npm run serve之后,你就能看到如图条形图:

 此外,Apache ECharts官方还有许多各式各样好看的示例,只需要将示例代码copy到项目代码的option下{ ref }的对象值,稍稍修改自己想要的数据,就可以得到各种好看的图表! 

Apache ECharts 示例官方入口

知识分享,持续更新,求关注不迷路~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue项目引入Echarts可视化图表库教程&踩坑 的相关文章

  • 如何在通过 .ajaxForm() 提交表单之前执行一些操作?

    我正在使用 ajaxForm 框架来发送我的数据 而无需重新加载我的页面 ReplayForm ajaxForm success function data alert Success 现在 我想在提交表单之前检查一些条件 如果条件为假 则
  • Angular UI select:从远程服务获取数据

    我正在使用角度用户界面选择 https github com angular ui ui select https github com angular ui ui select 我查看了演示的可用位置这个笨蛋 http plnkr co
  • Eslint 从另一个文件确定全局变量

    我试图以这样的方式设置 ESLint 使其在对实际目标文件进行 linting 之前解析全局声明文件 这样我就不必将所有确实是全局的函数和变量声明为全局 而是让解析器弄清楚 In 一些 模块 js function do something
  • 使用 jQuery Select2 清除下拉菜单

    我正在尝试使用奇妙的方式以编程方式清除下拉菜单Select2 http ivaynberg github com select2 图书馆 使用 Select2 远程 ajax 调用动态填充下拉列表query option HTML
  • jQuery输入文件点击方法和IE上拒绝访问

    我尝试仅使用一个按钮作为输入文件 它在 Firefox Chrome Safari 中工作正常 但在 IE 中不行 提交表单时我总是收到 访问被拒绝 的消息 代码 input file click 有真正的解决方法吗 我在谷歌上浪费了大约2
  • 检测 Google 验证码的挑战窗口何时关闭

    我正在使用谷歌隐形验证码 有没有办法检测挑战窗口何时关闭 我所说的挑战窗口是指您必须选择一些图像进行验证的窗口 目前 我在按钮上放置了一个旋转器 一旦单击按钮 就会呈现验证码挑战 无法向用户提示另一个质询窗口 我以编程方式调用渲染函数 gr
  • API 使用令牌向 odoo 进行身份验证

    我想使用令牌从 Express 应用程序向 Odoo 进行身份验证 我在用odoo xmlrpc https www npmjs com package odoo xmlrpc连接 Odoo 的节点模块 我的快递应用程序 Odoo 要求 A
  • 检索 css3 缩放元素的宽度/高度

    我正在与 offsetWidth 属性的奇怪之处 我认为 作斗争 这是场景 比方说 我有一个span标签 在我的js中 在某个时刻我执行css3转换 对于这个元素 例如 el set styles transform scale scale
  • 全局传递 xhr onload 函数的值

    在我正在创建的应用程序中 我有以下 XMLHttpRequest 并且我正在尝试传递结果data在 的里面xhr onload 到在同一父函数中创建的数组中 var url http api soundcloud com resolve j
  • 如何仅显示/隐藏此 bootstrapvue 表的第二列和第三列?

    下面的代码将显示 隐藏 a 中的所有列BootstrapVue桌子 代码的来源就是这里的答案 使用 bootstrap vue 组件和 bootstrap 3 动态显示 隐藏列 https stackoverflow com questio
  • 如何使用新的analytics.js跟踪多个帐户?

    我需要使用 Google 的新的analytics js 跟踪一个页面上两个帐户的综合浏览量 有大量教程和示例如何使用较旧的 ga js 进行操作 但我发现的只是这个分析文档页面 https developers google com an
  • Web组件中嵌套槽的内容不可见

    我有一个 Web 组件 它应该接受任意元素来包装其内容 虽然我可以在 Chrome 开发工具中看到插槽已正确分配 但 DOM 中什么也没有出现 以前有人见过这个问题吗 定义 class ExampleParent extends HTMLE
  • 类中可以有生成器 getter 吗?

    我的意思是吸气剂是发电机 我相信这一切都是 ES6 也许像这样 class a get count let i 10 while i yield i let b new a for const i of b count console lo
  • 如何为我的整个 Node.js 应用程序使用相同的 MySQL 连接?

    我有一个app js 我从那里运行我的整个应用程序 在 app js 内部 我require许多文件中都有代码 对于每个文件 我都这样做 var mysql require mysql var mclient mysql createCon
  • 扩展 RegExp 以获取文件扩展名

    我知道 已经有很多基于 RegExp 的解决方案 但是我找不到适合我需求的解决方案 我有以下函数来获取 URL 的各个部分 但我还需要文件扩展名 var getPathParts function url var m url match w
  • 语法错误:意外的标记“?”在 repl.it 上用 JavaScript 制作不和谐机器人时 [重复]

    这个问题在这里已经有答案了 我收到错误 const token this client token this client accessToken SyntaxError Unexpected token Discord 机器人代码 con
  • 如何在画布上所有其他内容后面绘制图像? [复制]

    这个问题在这里已经有答案了 我有一块画布 我想用drawImage在画布上当前内容后面绘制图像 由于画布上已经有内容 我正在使用字面上的画布来创建包含图像的画布 因此我无法真正先绘制图像 所以我无法使用drawImage在我呈现其余内容之前
  • 如何重复 ajax 请求,直到满足 RxJS Observable 的条件?

    我正在尝试重复请求 直到响应包含使用 RxJS 的数据 此时我想调用成功 或失败 处理程序 但我在使用 RxJS 时遇到了麻烦 这是我目前的方法 redux observable action observable mergeMap gt
  • Jwt 签名和前端登录身份验证

    我有这个特殊的 jwt sign 函数 Backend const token jwt sign id user id process env TOKEN SECRET expiresIn 1m res header auth token
  • ng-include 和 ng-view 不同时加载

    下面是我的应用程序的结构 很简单 页眉和页脚是非常小的文件 而主页上的 ng view 要大得多 当我进入该页面时 我注意到了这一点 首先加载两个 ng include 然后 ng view 出现 页脚被推到底部 页脚闪烁大约 0 1 秒

随机推荐

  • html高度塌陷问题的解决方案

    高度塌陷问题 在文档流中 父元素是被子元素给撑开的 也就是说子元素有多高 父元素就有多高 但是当为子元素设置浮动后 元素就会完全脱离文档流导致父元素的高度塌陷 由于父元素高度塌陷了 则父元素的所有元素都会向上移动 这样页面布局就会混乱 所以
  • linux shell脚本替换反斜杠

    1 windows中的脚本 路径均是反斜杠 在linux中 路径是斜杠 需要将反斜杠替换为斜杠 使用sed命令 如下 sed i s g home pp install sql 将 home pp install sql 文件中的 替换为
  • 【C++】C++从入门到精通教程(持续更新...)

    前言 最近在整理之前一些C 资料 重新整理出了一套C 从基础到实践的教程 包含概念 代码 运行结果以及知识点的扩展 感兴趣的后续大家持续关注 以下是更新的文章目录 文章之后整理了一个知识思维导图 看起来比较清楚点 目录 1 C 基础知识 C
  • Java 基础--- 静态绑定与动态绑定

    Java 基础 静态绑定与动态绑定 declared type actual type Static Binding 静态绑定 Dynamic Binding 动态绑定 为什么要区分动态绑定和静态绑定 declared type actua
  • ubuntu 16.04 安装redis 5.0.8

    上一个博客我给Ubuntu 16 04安装了SSH服务器 这篇博客主要展示在该系统上安装最新的redis 5 0 8 redis官方的地址为https redis io download 在Linux安装软件通常有两种方式 第一种是通过各个
  • 9、 Mac 实用软件清单

    Mac 实用软件清单 一 编辑器 Sublime Text 一个比较简洁大方带插件管理系统的流行编辑器 Sublime常用插件 PyCharm 一款 Python 开发集成环境 有专业版和社区版 IntelliJ IDEA 一款 Java
  • STM32独立看门狗IWDG和休眠(低功耗)共存那些事儿

    总结方法 1 寄存器写入标志位方法为主要手段 2 看门狗初始化放在标志位判断后方 3 合理利用单片机复位 标志位复位后不会丢失的特点 4 不同系列单片机寄存器不一样 调试不进入看门狗的做法 调试进入断点时不管停留多久 都不会触发看门狗 论坛
  • Vue实现loading加载动画

    Vue实现loading加载动画 1 在main js里引入axios import axios from http index js 2 在vuex中设置状态 state isLoading false 3 配置拦截器 import ax
  • 宇宙第一 IDE,放弃了 Mac....

    微软发布了 Visual Studio for Mac 退役的公告 公告写道 最新版本 Visual Studio for Mac 17 6 会继续获得额外 12 个月的支持 直至 2024 年 8 月 31 日 并提供针对安全问题的服务更
  • Bootstrap 入门

    一 Bootstrap 简介 框架顾名思义就是一套架构 它会基于自身的特点向用户提供一套较为完整的解决方案 框架的控制权在框架本身 使用者要按照框架所规定的某种规范进行开发 而插件一般是为了解决某个问题专门存在的 其功能单一 并且比较小 前
  • docker windows 下载安装 Update the WSL kernel by running “wsl --update“ or follow instructions at xxx

    下载 Docker Accelerated Containerized Application Development 我这里安装的是windows版的 docker windows 下载安装运行之后提示更新WSL 1 打开cmd窗口记得是
  • firefly如何安装mysql_Firefly安装ROS及ssh远程登录配置

    一 在Linux firefly 3 10 0 上安装ROS indigo 快捷键 CTRL ALT T 打开终端并安装ROS indigo sudo sh c echo deb http packages ros org ros ubun
  • C++ 私有构造函数的作用

    很多情况下要求当前的程序中只有一个object 例如一个程序只有一个和数据库的连接 只有一个鼠标的object 通常我们都将构造函数的声明置于public区段 假如我们将其放入private区段中会发生什么样的后果 这意味着什么 当我们在程
  • (Java)leetcode-84 Largest Rectangle in Histogram( 柱状图中最大的矩形)

    题目描述 难度 hard 给定 n 个非负整数 用来表示柱状图中各个柱子的高度 每个柱子彼此相邻 且宽度为 1 求在该柱状图中 能够勾勒出来的矩形的最大面积 以上是柱状图的示例 其中每个柱子的宽度为 1 给定的高度为 2 1 5 6 2 3
  • SFTP对文件重命名 删除 退出 查看

    常用命令 rename A B ls 空格 t ls 空格 lt sftp gt help Available commands bye Quit sftp
  • php-MD5()函数漏洞

    一 数字与字符串之间的比较 var dump 0 a true var dump 0 a false php把字母开头的字符串转化为整型时 转化为0 前面数字后面字母的话就只取到第一个字母出现的位置之前的数字 二 MD5函数漏洞 GET n
  • P3391 【模板】文艺平衡树(Splay)

    题目链接 splay的学习链接 基于这道题的关于splay的讲解 将由这篇博客开始 include
  • vue页面添加锚点

    本文实例为大家分享了vue实现锚点定位的具体代码 供大家参考 具体内容如下 这里主要是实现了一个简单的滚动触发锚点高亮 以及点击锚点触发滚动的功能 如果是获取浏览器的滚动高度 各个浏览器有所差异 使用以下几种方式 Chrome docume
  • CVPR 2021 人脸编辑GAN汇总

    点击上方 机器学习与生成对抗网络 关注星标 获取有趣 好玩的前沿干货 1 Exploiting Spatial Dimensions of Latent in GAN for Real time Image Editing 生成对抗网络 G
  • Vue项目引入Echarts可视化图表库教程&踩坑

    Apache ECharts是一个基于 JavaScript 的开源可视化图表库 ECharts是一款基于JavaScript的数据可视化图表库 提供直观 生动 可交互 可个性化定制的数据可视化图表 ECharts最初由百度团队开源 并于2