百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

快速入门前端图表插件E-chart(前端图表组件化)

ccwgpt 2024-10-15 09:08 23 浏览 0 评论

在前端项目开发中,有很多地方会遇到绘制图表的需求,一般的图表可以通过canvas来绘制,但是遇到复杂一点的图表怎么办呢?而且黑马的课程大纲已经把canvas课程删掉了,既然canvas有用,为什么要把他从课程大纲里面删掉呢?

canvas主要是用作前端小游戏的渲染,还有图表的制作。我们去公司做的项目,游戏类的项目,很少。然后自己手写canvas图表,非常的复杂,可谓费时费力。因此,我们不建议浪费特别多的时间去学习canvas这个前端技术。当然想自学的小伙伴呢,可以去网上找教程学习。如果不会canvas,老板又让写图表,该怎么办呢?

不要慌,今天就给大家推荐一个前端大佬们用的非常火的图标插件——Echarts。

Echarts特性简介

ECharts是一个使用 Java 实现的开源可视化库 ,啥叫开源呢,通俗点说,就是免费!不要钱!小伙伴们可以大胆放心的使用。

可视化工具呢,就是将一系列的数据,转化成非常直观的图表,来供大家查看,Echarts可谓是制作图表的良心之选,并且可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),所以,基本完全不用担心兼容性的问题,底层依赖轻量级的矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。

ECharts 提供了常规的折线图、柱状图、散点图、饼图、K线图,用于统计的盒形图,用于地理数据可视化的地图、热力图、线图,用于关系数据可视化的关系图、treemap、旭日图,多维数据可视化的平行坐标,还有用于 BI 的漏斗图,仪表盘,并且支持图与图之间的混搭。

具体的还有的优点,我就不一一介绍了,需要用到更多功能的小伙伴,可以去Echarts官网查找更多的特性。

Echarts的下载

在使用Echarts之前,我们需要先去官网下载最新版本的Echarts的依赖包,在这里我就推荐大家下载源代码,因为你源代码里面包含了所有图表组件以及常见的警告和错误.如果你觉得源代码文件太大,而且项目中用到的图表功能很简单的话,那就使用精简版的好啦!

Echarts在普通项目中的使用

下面重点来啦,大家准备好编译器哈,一起完成图表代码的实现!

首先,我会给大家讲一下Echarts图表在普通项目中的使用,后面还会讲到如何在vue项目里面使用。其他的开源框架里面如何使用我就不一一讲解了哈!

第一步

老规矩,首先将下载好的echarts.js放在项目的js文件夹下面,之后呢,在需要用到的页面,引入< src="echarts.js"></>,然后就可以开始写代码啦

第二步

准备好一个dom元素,当然啦,需要给该dom元素一个id,方便我们去找到它,而且,还要给这个元素一个宽高,作为表格的视口,至于宽高给多少呢,各位大佬们高兴就好.<div id="main" style="width: 600px;height:400px;"></div>

第三步

开始写js代码啦,js代码有三个步骤:

  • 初始化echarts实例:指定图表的配置项和数据:
  • 使用刚指定的配置项和数据显示图表:

这样子就OK啦,在浏览器打开你的代码吧,我们就得到了一个带动画效果的柱状图哦

当然,不只是只有柱状图,还有各种其他的图表,怎么使用?我们首先点击实例,就来到了这个页面

看上哪个图表?不要犹豫点击进去,我们就来到了如下页面

然后复制左边的option代码,替换掉之前的第二步里面的option就可以啊。这里注意第一步和第三步是通用的,不需要修改;

图表里面的数据也是可以自定义的,比如想渲染通过ajax请求过来的数据的话,直接在ajax的回调函数里面直接给option赋值或者修改就可以啦;

那么,关于echarts图表在普通项目中的使用就讲到这里啦,下面就给大家演示一下,如何在vue-cli 3.0里面的应用;

Echarts在vue-cli 3.3.0中的使用

echarts不止是在vue-cli 3.3.0项目中可以使用,在其他版本的vue里面同样可以使用,因为vue-cli已经更新到了3.3.0,所以我们今天用这个版本作为例子来给大家演示。

第一步

第一步肯定是要先搭建vue-cli的项目啦,首先,你需要有node的运行环境,这里我就默认大家都有啦!安装vue-cli的全局环境npm install -g @vue/cli,装好之后,尝输入命令vue --version,如果出现了3.3.0字样,就说明安装成功啦,如果报错vue不是内部命令的话呢,就是安装失败了,那就有可能是你没有装node环境,或者node版本过低哦,vue-cli需要 node 8.9 或更高版本 (推荐 8.11.0+)。

这时候你就需要装一个更高版本的node啦;vue-cli环境搭建好之后呢,就开始创建vue的项目啦,也很简单,新建一个文件夹,然后输入指令vue create hello-world,就可以创建好一个vue的初始化项目啦.项目初始化之后呢,安装echarts依赖包npm install echarts -S,就可以开始写代码啦

第二步

在main.js里面导入echarts依赖包,再将echarts实例化函数设为vue的原型函数,便于全局访问,代码如下图:

第三步

然后在HelloWorld.vue的template里面添加标签<div id="main" style="width: 600px;height:400px;"></div>;

里面代码如下:

当然也有别的不同的写法,但是我觉得,这是我研究了很久出来的一套比较合理的写法,数据option放在data里面,初始化图表的drawCharts方法放在methods里面,然后方法为什么要在mounted生命周期函数里面调用呢?直接在methods里面调用不行吗?

是不行的,因为我们在初始化的时候操作了dom元素,而mounted声明周期函数是在页面中的dom元素加载完毕之后才执行的而函数,所以在mounted里面调用drawCharts方法就不会出现找不到dom元素的情况啦,vue里面是拒绝操作dom元素的,但是呢,这个插件没有办法,必须选中dom元素初始化才可以,所以这里是一点小瑕疵,希望echarts团队可以更加的优化一下,最后呢,大家npm run serve一哈,哈哈哈哈哈,是不是有图表出来啦!

结语

上面就是对图表插件echarts写的一个解析,大部分的东西在Echarts官方文档里面都有,但是官方文档上面有的坑它并没有说出来,在这里我就把我在用这个插件时遇到的问题以及解决的方法,还有自己对这个插件的理解毫无保留的献给大家,希望这个解析对小伙伴们有所帮助,在要用到echarts这个插件的时候都可以运用的轻松自如!

相关推荐

如何使用PIL生成验证码?(pi验证教程)

web项目中遇到使用验证码的情况有很多,进行介绍下使用PIL生成验证码的方法。安装开始安装PIL的过程确实麻烦各种问题层出不绝,不过不断深入后就没有这方面的困扰了:windows安装:直接安装Pil...

Python必学!3步解锁asyncio异步编程 性能直接狂飙10倍!

还在用传统同步代码被IO阻塞卡到崩溃?别当“代码苦行僧”了!Python的asyncio模块堪称异步编程的“开挂神器”,处理高并发任务就像开了涡轮增压!不管是网络爬虫、API接口开发还是文件批量处理,...

Tornado6+APScheduler/Celery打造并发异步动态定时任务轮询服务

定时任务的典型落地场景在各行业中都很普遍,比如支付系统中,支付过程中因为网络或者其他因素导致出现掉单、卡单的情况,账单变成了“单边账”,这种情况对于支付用户来说,毫无疑问是灾难级别的体验,明明自己付了...

Python学习怎么入门?附真实学习方法

Python技术在企业中应用的越来越广泛,因此企业对于Python方面专业人才的需求也越来越大,那对于之前对Python没有任何了解和接触的人而言,想要从零开始学习并不是一件容易的事情,接下来小U就为...

PySpider框架的使用(pyspider 教程)

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

大学计算机专业 学习Python学习路线图(最新版)

这是我刚开始学习python时的一套学习路线,从入门到上手。(不敢说精通,哈哈~)希望对大家有帮助哈~大家需要高清得完整python学习路线可以【文末有获取方式】【文末有获取方式】一、Python入门...

阿里巴巴打造的400集Python视频合集免费学起来,学完万物皆可爬

第一阶段Python入门章节1:Python入门章节2:编程基本概念章节3:序列章节4:控制语句章节5:函数章节6:面向对象编程第二阶段Python深入与提高章节1:异常处理章节2:游戏开发-坦克大...

Nginx Gunicorn在服务器中分别起什么作用

大部分人在gunicorn前面部署一层nginx的时候也的确没有想过为什么,他们只是觉得这样显得他们比较专业,而且幻想着加了一层nginx反向代理之后性能会有提升,恕我直言,请你们带上脑子,一个单纯的...

Python培训怎么学?Python基础技术总结!值得一看

Python培训如今越来越被更多人所接受,相比自学参加Python培训的好处也是显而易见,但Python毕竟属于后端编程开发的主流语言,其知识机构还是比较庞大的,那Python培训怎么学?以及Pyth...

使用Tornado部署Flask项目(tornado async)

Tornado不仅仅是一个WEB框架,也可以是一个WEB服务器。在Tornado中我们可以使用wsgi模块下的WSGIContainer类运行其他WSGI应用如:Fask,Bottle,Djang...

Python Web框架哪个好用?(python3 web框架)

  问:PythonWeb框架哪个好用?  答:  1.Django  Django是Python世界中最出名、最成熟的Web框架。Django功能全面,各模块之间结合紧密,(不讲其他的)Djang...

Vue3.0+Tornado6.1发布订阅模式打造异步非阻塞实时=通信聊天系统

“表达欲”是人类成长史上的强大“源动力”,恩格斯早就直截了当地指出,处在蒙昧时代即低级阶段的人类,“以果实、坚果、根作为食物;音节清晰的语言的产生是这一时期的主要成就”。而在网络时代人们的表达欲往往更...

Python开源项目合集(第三方平台)(python第三方开发工具)

wechat-python-sdk-wechat-python-sdk微信公众平台Python开发包http://wechat-python-sdk.readthedocs.org/,非官方...

IT界10倍高效学习法!用这种方式,一年学完清华大学四年的课程

有没有在某一个瞬间,让你放弃学编程刚开始学python时,我找了几十本国内外的python编程书籍学习后,我还是似懂非懂,那些书里面到处都是抽象的概念,复杂的逻辑,这样的书,对于专业开发者来说,在平常...

如何将Python算法模型注册成Spark UDF函数实现全景模型部署

背景Background对于算法业务团队来说,将训练好的模型部署成服务的业务场景是非常常见的。通常会应用于三个场景:部署到流式程序里,比如风控需要通过流式处理来实时监控。部署到批任务中部署成API服...

取消回复欢迎 发表评论: