第一步,引入ECharts:

echars的引入十分简单,只需要在html中嵌入即可:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="echarts.min.js"></script>
  5. </head>
  6. </html>

echarts.min.js从官网下载

此时echarts.min.js保存在html文件同目录下

如果不想在本地保存echart.js文件,可以采用cdn引入:

  1. <script src="echarts.min.js"></script>

改为

  1. <script src="https://cdn.bootcss.com/echarts/4.1.0.rc2/echarts.min.js"></script>

之后就可以开始进入echarts的世界了

第二步,生成echarts对象:

要创建图表首先要给图表一个安置的空间,所以可以在body内嵌入一个空的

标签,赋值一个id,以用来存放图表对象,当然如果有多个图表那可以创建多个标签。参考官方的初始化方法,使用echarts.init(node)创建echarts对象,完整代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <script src="echarts.min.js"></script>
  5. </head>
  6. <body>
  7. <div id="container" style="height: 100%"></div>
  8. <script>
  9. var dom = document.getElementById("container");
  10. var myChart = echarts.init(dom);
  11. </script>
  12. </body>
  13. </html>

这个myChart就是重点关注对象,之后的几乎所有图表方法都跟这玩意有关。

第三步,设置配置项

echarts的需要通过一个option对象来进行配置,详细配置项见官网说明文档

 以折线图为例,option的形式类似于这样:

  1. option = {
  2. xAxis: {
  3. type: 'category',
  4. data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  5. },
  6. yAxis: {
  7. type: 'value'
  8. },
  9. series: [{
  10. data: [820, 932, 901, 934, 1290, 1330, 1320],
  11. type: 'line'
  12. }]
  13. };

其中series是数据系列,可以有多个,在这个折线图中只设置了一个

至于xAxis和yAxis是echarts提供的折线图配置项,要知道所有的可设置项可查看官方文档

第四步,载入option:

如果要载入option,只需要调用setOption()就好了

  1. myChart.setOption(option, true);

其中第二个参数为[notMerge],当设置为false时,如果更新数据将会合并新旧数据

最后上一个完整版:
  1. <!DOCTYPE html>
  2. <html style="height: 100%">
  3. <head>
  4. <meta charset="utf-8">
  5. </head>
  6. <body style="height: 100%; margin: 0">
  7. <div id="container" style="height: 100%"></div>
  8. <script type="text/javascript" src="echarts.min.js"></script>
  9. var dom = document.getElementById("container");
  10. var myChart = echarts.init(dom);
  11. option = {
  12. xAxis: {
  13. type: 'category',
  14. data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  15. },
  16. yAxis: {
  17. type: 'value'
  18. },
  19. series: [{
  20. data: [820, 932, 901, 934, 1290, 1330, 1320],
  21. type: 'line'
  22. }]
  23. };
  24. myChart.setOption(option, true);
  25. </script>
  26. </body>
  27. </html>


常用的option配置项和对象方法
常用的mychart对象方法
  1. myChart.showLoading(LoadingOption);
  2. myChart.hideLoading();

添加showLoading()到加载数据之前可以显示一个Loading的界面,防止加载时间过长,hideLoading()清除加载页面

  1. mychart.getOption();

获取option对象的克隆版本

  1. mychart.dispose()
  2. mychart.clear();

前者为释放图表,释放后不可在使用

后者为清空图表内容,清空后可再添加内容

常用的配置项
图例
  1. legend: [{
  2. data: categories.map(function (a) {
  3. return a.name;
  4. }),
  5. selected: {
  6. '系列1': true,
  7. // 不选中'系列2'
  8. '系列2': false
  9. }
  10. }],

因为原始数据不一定符合要求,所以data数据常常使用map和回调函数返回一个字符串数组

缩放
  1. dataZoom: [
  2. { // 第一个 dataZoom 组件
  3. radiusAxisIndex: [0, 2] // 表示这个 dataZoom 组件控制 第一个 和 第三个 radiusAxis
  4. }]

dataZoom控制数据的缩放

以及最重要的
  1. series:[{...},{...}]

series中包含了大量已有图表类型的配置项,具体内容参考配置项文档

异步加载数据

模板中常用的异步加载数据类型有json和图表类型用的gexf,有关gexf格式的详情可以看这里

为了方便起见,异步加载数据首先导入Jquery

  1. <script type="text/javascript" src="jquery.js"></script>

加载gexf文件要先加载echarts的dataTool库

  1. <script type="text/javascript" src="dataTool.min.js"></script>
  1. $.get('data.gexf',function(xml){
  2. var graph = echarts.dataTool.gexf.parse(xml);//通过dataTool解析gexf
  3. }),

其中graph对象带有gexf中的节点信息

于是调用起来就非常方便了:

对于关系图,我们可以这样

  1. series : [
  2. {
  3. name: 'graph',
  4. type: 'graph',
  5. layout: 'none',
  6. data: graph.nodes,
  7. links: graph.links
  8. }

加载json文件同理:

  1. $.get('data.json',function(data){
  2. data.nodes;//节点
  3. data.links; //边
  4. })

ECharts使用指南的更多相关文章

  1. ECharts学习指南

    1.了解ECharts ECharts简单说就是互联网开发程序过程中,后台数据库用以实现数据到图形的映射的一个插件. 具体来说一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在PC和 ...

  2. ECharts演习(一)

    前几天小组讨论,窗外的麻雀在电线杆上多嘴,想想很有夏天的感觉,手中的铅笔在纸上来了又回,我用几行字形容孰是孰非......... Echarts使用指南 百度网站:http://echarts.bai ...

  3. 前端数据可视化echarts.js使用指南

    一.开篇 首先这里要感谢一下我的公司,因为公司需求上面的新颖(奇葩)的需求,让我有幸可以学习到一些好玩有趣的前端技术,前端技术中好玩而且比较实用的我想应该要数前端的数据可视化这一方面,目前市面上的数据 ...

  4. 微信小程序避坑指南——echarts层级太高/层级遮挡

    问题:小程序中echarts因为小程序原生的canvas层级太高,而导致弹窗这类dom元素无法遮挡住canvas,如下图: 解决方案1:(wx:if控制dom显隐,显示canvas就重新渲染echar ...

  5. echarts 专题

    todo:缩放 5 分钟上手 ECharts 获取 ECharts 你可以通过以下几种方式获取 ECharts. 从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的 ...

  6. electron入坑指南

    electron入坑指南 简介 electron 实际集成chrome浏览器和node环境, 运行你写的网页 app 基本目录结构 index.html 名称可以不是index, 这个文件与普通网页的 ...

  7. 基于Servlet的Echarts例子(2018-12-26更新)

    引子 ECharts是百度出品的,一个使用 JavaScript 实现的开源可视化库.程序员在Web页面上引入并稍作配置就能做出漂亮的数据图表. 本篇文章简单介绍一下如何在JSP中使用Echarts, ...

  8. 网页图表类框架(插件)——百度eCharts和Highcharts

    ECharts, 缩写来自Enterprise Charts,商业级数据图表,一个纯Javascript的图表库, 可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器(IE6/7/8/9 /10 ...

  9. pyEcharts安装及使用指南

    pyEcharts安装及使用指南 ECharts是一个纯Javascript的图表库,可以流畅的运行在PC和移动设备上,兼容当前绝大部分浏览器,底层依赖轻量级的Canvas类库ZRender,提供直观 ...

随机推荐

  1. learning-js-by-reading-source-codes

    learning-js-by-reading-source-codes BigInt https://github.com/learning-js-by-reading-source-codes/lo ...

  2. COOP & COEP

    COOP & COEP Cross-Origin Opener Policy (COOP) and Cross-Origin Embedder Policy (COEP) https://de ...

  3. ES-Next classes static properties

    ES-Next classes static properties https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ ...

  4. git alias & zsh

    git alias & zsh VPN & git work tree # git pull === gp ➜ .git git:(feature/select-seat-system ...

  5. 直播预告 | 全面的审计分析和权限管控——CloudQuery年终发布!

    2020年9月,CloudQuery 发布. 针对开发.运维人员面临的如何高效便捷访问.操作管理数据的问题,我们设计并研发了云原生安全数据操作平台,CloudQuery 就此诞生! 2020年结束之际 ...

  6. Yarn框架的一般过程

    基本过程图: Clinet向ResouceManager发送Job请求 ResouceManager接受到请求后在自身开启一个Container 来运行的ApplicationManager组件,Ap ...

  7. eclipse快速定位当前类所在位置

    如何快速的找到一个类并且定位它所在的位置呢?这里以搜索Menu类为例说明. 可以通过CTRL + SHIFT +R的组合键,输入Menu 双击Menu.java即可跳转到对应的类上,但此时还不知道此类 ...

  8. Google单元测试框架gtest--值参数测试

    测试一个方法,需要较多个参数进行测试,比如最大值.最小值.异常值和正常值.这中间会有较多重复代码工作,而值参数测试就是避免这种重复性工作,并且不会损失测试的便利性和准确性. 如果测试一个函数,需要些各 ...

  9. 微信支付 V3 的 Java 实现 Payment Spring Boot-1.0.7.RELEASE 发布

    Payment Spring Boot 是微信支付V3的Java实现,仅仅依赖Spring内置的一些类库.配置简单方便,可以让开发者快速为Spring Boot应用接入微信支付. 功能特性 实现微信支 ...

  10. go mod包管理 加代理下载

    原始go.mod文件 module xxx go 1.14 报错 i/o timeout go mod init workorder go mod init: go.mod already exist ...