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

news2024/11/27 21:34:36

 提示:本篇案例使用的vue2 以及 vue cli脚手架:

文章目录

前言

一、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.box
            const 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.box
            const 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.coloradmin.cn/o/1096739.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

超声波清洗机洗眼镜真的可以洗干净吗?眼镜超声波清洗机推荐

截止2023年4月份近视眼的统计&#xff0c;我过近视人群高达3亿人&#xff0c;可想而知现在近视的群体是有多么庞大的。近视就免不了要戴眼镜&#xff0c;但是一副眼镜长时间的佩戴不清洗的话&#xff0c;镜片会不清晰&#xff0c;也有的朋友会眼镜脏了就去配一副新的&#xff0…

【狂神说】HTML详解

目录 1 HTML概述1.1 什么是HTML1.2 HTML发展史1.3 HTML5的优势1.4 W3C标准 2 网页2.1 网页基本信息2.2 网页基本标签2.2.1 标题标签2.2.2 段落标签2.2.3 换行标签2.2.4 水平线标签2.2.5 字体样式标签&#xff1a;粗体、斜体2.2.6 注释和特殊符号 2.3 图像标签2.4 链接标签邮箱链…

MapGIS 10.6 Pro自主创新技术升级,护航国产化应用全面替代

信创GIS的发展历经雏形起步阶段&#xff08;2006-2013年&#xff09;、初步试点阶段&#xff08;2014-2017年&#xff09;、规模化试点阶段&#xff08;2017-2019年&#xff09;&#xff0c;目前正处在全面应用推广的新阶段&#xff08;2020年至今&#xff09;&#xff0c;当前…

九州未来参与编制的《基于C-V2X的智能化网联化融合发展路线图》正式发布!

近日&#xff0c;《基于C-V2X的智能化网联化融合发展路线图&#xff08;征求意见稿&#xff09;》在2023世界智能网联汽车大会上正式发布。 路线图在多位院士和众多行业专家指导下&#xff0c;由四十余家相关企业、高校、研究机构共同研究编制&#xff0c;十四家跨行业学会、联…

Seata入门系列【7】Seata之TCC模式入门案例

1 前言 Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式&#xff0c;为用户打造一站式的分布式解决方案。 TCC 与 Seata AT 事务一样都是两阶段事务&#xff0c;它与 AT 事务的主要区别为&#xff1a; TCC 对业务代码侵入严重&#xff1a;每个阶段的数据操作都要自己进行…

PDF格式转换为翻页电子书,这种形式太酷辣!

PDF作为工作生活中最常见的文档格式之一&#xff0c;但是PDF格式阅读体验感不是那么好&#xff0c;这时候如果将PDF转化为翻页电子书再阅读&#xff0c;体验感不就直接拉满了嘛&#xff01;如何将PDF格式转换为翻页电子书呢&#xff1f; 为了解决这个问题&#xff0c;我们推荐…

国产数据库TiDB单机部署最佳实践

创建用户 ##创建用户 adduser tidb#设置密码 passwd tidb 配置免密码登录 cat >> /etc/sudoers << "EOF" tidb ALL(ALL) NOPASSWD:ALL EOF 创建tidb用户ssh key 切换用户 [rootjeames ~]# su - tidb 执行命令&#xff0c;一直按回车键就行 [tidbjeames…

官方认证:研发效能(DevOps)工程师职业技术认证

培养端到端的研发效能人才 为贯彻落实《关于深化人才发展体制机制改革的意见》&#xff0c;推动实施人才强国战略&#xff0c;促进专业技术人员提升职业素养、补充新知识新技能&#xff0c;实现人力资源深度开发&#xff0c;推动经济社会全面发展&#xff0c;根据《中华人民共…

build.gradle配置国内镜像源

maven { url https://maven.aliyun.com/repository/google/ } maven { url https://maven.aliyun.com/repository/jcenter/} maven { url https://jitpack.io }

【Eclipse】安装与卸载教程

目录 1.绿色版免安装版本 2.安装版本 3.卸载 首先打开官网&#xff1a;Eclipse Downloads | The Eclipse Foundation 选择download package 如图所示&#xff0c;到如下界面 1.绿色版免安装版本 按图片点击&#xff0c;即可开始下载 下载好后解压 &#xff0c;在桌面创建…

中青急速版更新(青龙脚本)

原脚本失效&#xff0c;请用新脚本&#xff0c;每天50毛左右见 实际运行情况见下图 中青入口&#xff1a;中青急速版软件入口 变量 export zqurlxxxxxxx 抓这个https://user.youth.cn/v1/user/userinfo.json?xxxxxx 脚本&#xff08;文件另存为zqjsf.py&#xff09; impor…

JAVA发送消息到RabbitMq

项目中&#xff0c;作为生产者自定义消息发送到RabbitMq。 1.引入rmq依赖 <!-- rabbitmq 依赖 --><dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.9.0</version></dependen…

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]…

【MySql系列】深入解析数据库索引

写在前面 MySQL索引是数据库中一个关键的概念&#xff0c;它可以极大地提高查询性能&#xff0c;加快数据检索速度。但是&#xff0c;要充分发挥索引的作用&#xff0c;需要深入理解它们的工作原理和使用方式。 在本文中&#xff0c;我们将深入解析MySQL索引&#xff0c;探讨它…

PyCharm安装和使用教程

简介 PyCharm是一种PythonIDE&#xff08;Integrated Development Environment&#xff0c;集成开发环境&#xff09;&#xff0c;带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具&#xff0c;比如调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单…

护眼灯色温多少最好?儿童护眼灯色温范围多少

如果不想家里的孩子年纪小小的就戴着眼镜&#xff0c;从小就容易近视&#xff0c;那么护眼灯的选择就非常重要了&#xff0c;但是市场上那么多品类&#xff0c;价格也参差不齐&#xff0c;到底怎么选呢&#xff1f;色温该是多少呢&#xff1f;为大家推荐五款色温完全没问题的护…

【特纳斯电子】JDY-10M模块

视频及资料链接&#xff1a;JDY-10M模块 - 电子校园网 (mcude.com) 一、实物图 二、原理图 引脚定义 内部引脚图 三、简介 JDY-10 透传模块是基于蓝牙 4.0 协议标准&#xff0c;工作频段为 2.4GHZ 范围&#xff0c;调制方式为 GFSK(高斯频移键控&#xff0c;在调制之前通过一…

人形机器人:未来与现实的交汇

原创 | 文 BFT机器人 人形机器人是一种模仿人类外形和动作的机器人&#xff0c;具有复杂的机械结构和智能控制系统。随着科技的不断进步和应用领域的扩大&#xff0c;人形机器人行业正逐渐崭露头角&#xff0c;成为一个具有巨大潜力的新兴产业。根据高盛的预测&#xff0c;到2…

存档&改造【07】多表查询和可操控对象的存储

前情摘要 在可操作对象一栏中&#xff0c;默认IS_ALL所有人可见&#xff0c;还可以指定用户和部门&#xff0c;可操作对象存在CODE_SYSTEM_OPERATION&#xff08;晶码-接入系统操作项&#xff09;表中&#xff0c;部门/用户ID&NAME存在CODE_SYSTEM_OPERATION_AUTH&#xf…

Prompt 驱动架构设计:探索复杂 AIGC 应用的设计之道?

你是否曾经想过&#xff0c;当你在 Intellij IDEA 中输入一个段代码时&#xff0c;GitHub 是如何给你返回相关的结果的&#xff1f;其实&#xff0c;这背后的秘密就是围绕 Prompt 生成而构建的架构设计。 Prompt 是一个输入的文本段落或短语&#xff0c;用于引导 AI 生成模型执…