VUE整合Echarts实现简单的数据可视化

文章目录

前言

一、Echarts的安装

二、可视化渲染

1.柱状图

2.饼图 

3.主题的下载 

总结


前言

ECharts是一款功能强大的前端数据可视化库,支持多种图表类型和统计图表、地理数据可视化、关系型数据展示、多维数据处理和商业智能功能。通过广泛的图表类型、统计分析能力、地理数据可视化、关系数据展示、多维数据处理和商业智能功能,ECharts为用户提供了强大而灵活的数据可视化解决方案,助力用户从数据中获取洞见,并将其直观地展示出来。


提示:以下是本篇的一个对echarts的基本案例

一、Echarts的安装

 首先在项目的终端运行安装echarts依赖安装的命令:

npm install echarts -S

 这里使用全局引入的方式 在main.js中引入:

//引入echarts
import * as echarts from 'echarts'
//vue全局注入echarts
Vue.prototype.$echarts = echarts;

二、可视化渲染

1.柱状图

        首先我们创建一个一下属性的盒子,来放置我们以后的可视化图表

    <div><div class="echart-box" ref="box"></div></div><style scoped>.echart-box{width: 500px;height: 350px;border: 3px solid pink;margin: 20px auto;}</style>

        第二步获取我们需要的dom对象,这里我用的$refs去获取的,当然也可以使用document方法去获取

            // 基于准备好的dom,初始化echarts实例const userdom = this.$refs.boxconst mycart = this.$echarts.init(userdom)

绘制需要的图表需要到官方去寻找我们需要的图表,这里给出官网的链接

Examples - Apache 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)'}}]}},

最后通过setOption方法去渲染整个图表 

mycart.setOption(option)

最终运行结果: 

2.饼图 

 我们通过相同的方法再去渲染一个饼状图:这里直接给出饼图的关键代码:

            const mypie = this.$echarts.init(this.$refs.boxpie)mypie.setOption({title: {text: 'Referer of a Website',subtext: 'Fake Data',left: 'center'},tooltip: {trigger: 'item'},legend: {orient: 'vertical',left: 'left'},series: [{name: 'Access From',type: 'pie',radius: '50%',data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]})},

3.主题的下载 

这个时候我们的可视化,基本完成了,但是,我们可以看到我的的样式有一些普通,这个时候我们官方网站中去下载主题js文件,下面给出网址以及如何操作 

主题下载 - Apache ECharts

 

进入主题下载区,以第一个为例进行主题下载,

                                  

主题的应用,在echarts文件中导入相关的主题文件,并在init方法的位置使用

最后可以看到页面的效果:


总结

这里对echarts的可视化进行的简单的入门案例,一篇文章就可以让你简单的对echarts上手,下面附上整片文章的源码 方便大家阅读和学习:

<template><div style="display: flex; justify-content: space-around;"><div class="echart-box" ref="box"></div><div class="echart-box" ref="boxpie"></div></div>
</template>
<script>
import '@/assets/vintage.js'
export default {mounted() {// 挂在完成dom后进行初始化this.showEcarts();},methods: {showEcarts() {// 基于准备好的dom,初始化echarts实例const userdom = this.$refs.boxconst mycart = this.$echarts.init(userdom,'vintage')//绘制图表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)'}}]};// 渲染图表mycart.setOption(option)//饼图 const mypie = this.$echarts.init(this.$refs.boxpie,'vintage')mypie.setOption({title: {text: 'Referer of a Website',subtext: 'Fake Data',left: 'center'},tooltip: {trigger: 'item'},legend: {orient: 'vertical',left: 'left'},series: [{name: 'Access From',type: 'pie',radius: '50%',data: [{ value: 1048, name: 'Search Engine' },{ value: 735, name: 'Direct' },{ value: 580, name: 'Email' },{ value: 484, name: 'Union Ads' },{ value: 300, name: 'Video Ads' }],emphasis: {itemStyle: {shadowBlur: 10,shadowOffsetX: 0,shadowColor: 'rgba(0, 0, 0, 0.5)'}}}]})},},
}
</script>
<style scoped>
.echart-box {width: 500px;height: 350px;border: 3px solid pink;margin: 20px ;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/161069.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通达OA 2016网络智能办公系统 handle.php SQL注入漏洞

一、漏洞描述 北京通达信科科技有限公司通达OA2016网络智能办公系统 handle.php 存在sql注入漏洞&#xff0c;攻击者可利用此漏洞获取数据库管理员权限&#xff0c;查询数据、获取系统信息&#xff0c;威胁企业单位数据安全。 二、网络空间搜索引擎查询 fofa查询 app"T…

Leetcode刷题解析——最大连续1的个数

1. 题目链接&#xff1a;1004. 最大连续1的个数 III 2. 题目描述&#xff1a; 给定一个二进制数组 nums 和一个整数 k&#xff0c;如果可以翻转最多 k 个 0 &#xff0c;则返回 数组中连续 1 的最大个数 。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1,0,0,0,1,1,1,1,0]…

6.6 图的应用

思维导图&#xff1a; 6.6.1 最小生成树 ### 6.6 图的应用 #### 主旨&#xff1a;图的概念可应用于现实生活中的许多问题&#xff0c;如网络构建、路径查询、任务排序等。 --- #### 6.6.1 最小生成树 **概念**&#xff1a;要在n个城市中建立通信联络网&#xff0c;则最少需…

【Java 进阶篇】JavaScript 自动跳转首页案例

在这篇博客中&#xff0c;我们将创建一个JavaScript案例&#xff0c;演示如何自动跳转到网站的首页。这种自动跳转通常用于欢迎页面或广告页面等场景。我们将从头开始创建这个案例&#xff0c;逐步介绍相关的JavaScript知识&#xff0c;让初学者也能理解并实现这个功能。 1. 什…

进程的虚拟地址空间

一、 对于C/C程序员&#xff0c;我们看到的程序中的地址&#xff0c;都不是物理地址&#xff0c;而是操作系统映射的虚拟地址/线性地址&#xff0c;每一个进程都映射了同样结构的虚拟地址空间&#xff0c;让进程以为自己在独享内存资源&#xff0c;下图是以Linux下32位操作系统…

凉鞋的 Unity 笔记 201. 第三轮循环:引入变量

201. 第三轮循环&#xff1a;引入变量 在这一篇&#xff0c;我们进行第三轮 编辑-测试 循环。 在之前我们编写了 输出 Hello Unity 的脚本&#xff0c;如下: using System.Collections; using System.Collections.Generic; using UnityEngine;public class FirstGameObject …

01-10 周二 PyCharm远程Linux服务器配置进行端点调试

01-10 周二 PyCharm远程Linux服务器配置 时间版本修改人描述2023年1月10日14:04:15V0.1宋全恒新建文档2023年2月6日11:03:45V0.2宋全恒添加快捷指令别名的实现方便虚拟环境的切换 简介 使用 PyCharm&#xff0c;您可以使用位于另一台计算机(服务器)上的解释器调试应用程序。 …

Python---if选择判断结构、嵌套结构(if elif else)

1、if选择判断结构作用 if 英 /ɪf/ conj. &#xff08;表条件&#xff09;如果&#xff1b;&#xff08;表假设&#xff09;要是&#xff0c;假如&#xff1b;无论何时&#xff1b;虽然&#xff0c;即使&#xff1b;&#xff08;用于间接疑问&#xff09;是否&#xff1b…

【配置环境】SQLite数据库安装和编译以及VS下C++访问SQLite数据库

一&#xff0c;环境 Windows 11 家庭中文版&#xff0c;64 位操作系统, 基于 x64 的处理器SQLite - 3.43.2Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.5.3 二&#xff0c;SQLite简介 简要介绍 SQLite&#xff08;Structured Query Language for Lite&a…

windows常用命令

一.文件操作 dir&#xff1a;查看文件当前路径目录列表 cd .. &#xff1a;返回上一级目录 cd 路径&#xff1a;进入路径

2023年10月wxid转微信号方法

在9月份tx做了一次调整&#xff0c;以前很多wxid转微信号的办法都失效了。 今天分析了一下微信。捣鼓了一下午。现在已经实现了wxid转微信号。不管对方是否在群里&#xff0c;是否是你的好友 都能转。一分钟出60条左右。 我们先创建一个文本文件&#xff0c;将要转换wxid 放进…

【Mysql】Innodb数据结构(四)

概述 MySQL 服务器上负责对表中数据的读取和写入工作的部分是存储引擎 &#xff0c;而服务器又支持不同类型的存储引擎&#xff0c;比如 InnoDB 、MyISAM 、Memory 等&#xff0c;不同的存储引擎一般是由不同的人为实现不同的特性而开发的&#xff0c;真实数据在不同存储引擎中…

手把手教你随机合并全部视频添加同一个文案的方法

今天&#xff0c;我将为你介绍一个简单易行的方法&#xff0c;只需两个步骤&#xff0c;让你轻松实现批量合并视频。 1. 在浏览器中搜索并下载“固乔智剪软件”&#xff0c;然后打开软件。这款软件是一款专业的视频剪辑工具&#xff0c;它提供了多种视频剪辑功能&#xff0c;包…

【网络协议】聊聊从物理层到MAC层 ARP 交换机

物理层 物理层其实就是电脑、交换器、路由器、光纤等。组成一个局域网的方式可以使用集线器。可以将多台电脑连接起来&#xff0c;然后进行将数据转发给别的端口。 数据链路层 Hub其实就是广播模式&#xff0c;如果A电脑发出一个包&#xff0c;B、C电脑也可以收到。那么数据…

解决 MyBatis 一对多查询中,出现每组元素只有一个,总组数与元素数总数相等的问题

文章目录 问题简述场景描述问题描述问题原因解决办法 问题简述 笔者在使用 MyBatis 进行一对多查询的时候遇到一个奇怪的问题。对于笔者的一对多的查询结果&#xff0c;出现了这样的一个现象&#xff1a;原来每个组里有多个元素&#xff0c;查询目标是查询所查的组&#xff0c;…

vue使用高德地图轨迹活动效果demo(整理)

在html页面引入您自己的key <script language"javascript" src"https://webapi.amap.com/maps?v1.4.15&key6b26c2c58770d13a4ecf2b96615dbaee"></script><template><div class"index"><div id"amapContain…

小程序-uni-app:将页面(html+css)生成图片/海报/名片,进行下载 保存到手机

一、需要描述 本文实现&#xff0c;uniapp微信小程序&#xff0c;把页面内容保存为图片&#xff0c;并且下载到手机上。 说实话网上找了很多资料&#xff0c;但是效果不理想&#xff0c;直到看了一个开源项目&#xff0c;我知道可以实现了。 本文以开源项目uniapp-wxml-to-can…

Kotlin中的比较运算符

在Kotlin中&#xff0c;我们可以使用比较运算符进行值的比较和判断。下面对Kotlin中的等于、不等于、小于、大于、小于等于和大于等于进行详细介绍&#xff0c;并提供示例代码。 等于运算符&#xff08;&#xff09;&#xff1a; 等于运算符用于判断两个值是否相等。如果两个值…

Leetcode刷题详解——长度最小的子数组

1. 题目链接&#xff1a;209. 长度最小的子数组 2. 题目描述&#xff1a; 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] &#xff0c;并返回其长度**。**如果不…