一、获取 ECharts

你可以通过以下几种方式获取 ECharts。

  1. 官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本。开发环境建议下载源代码版本,包含了常见的错误提示和警告。

  2. 在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库。

  3. 通过 npm 获取 echarts,npm install echarts --save,详见“在 webpack 中使用 echarts

  4. cdn 引入,你可以在 cdnjsnpmcdn 或者国内的 bootcdn 上找到 ECharts 的最新版本。

二、获取 ECharts

ECharts 3 开始不再强制使用 AMD 的方式按需引入,代码里也不再内置 AMD 加载器。因此引入方式简单了很多,只需要像普通的 JavaScript 库一样用 script 标签引入。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- 引入 ECharts 文件 -->
<script src="echarts.min.js"></script>
</head>
</html>

三、绘制一个简单的图表

在绘图前我们需要为 ECharts 准备一个具备高宽的 DOM 容器。

 <body>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 800px;height:400px;"></div>
</body>

然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个简单的柱状图,下面是完整代码。

 <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ECharts</title>
<!-- 引入 echarts.js -->
<script src="echarts.min.js"></script>
</head>
<body>
<!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" style="width: 600px;height:400px;"></div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main')); // 指定图表的配置项和数据
var option = {
title: {
text: 'ECharts 入门示例'
},
tooltip: {},
legend: {
data:['销量']
},
xAxis: {
data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
},
yAxis: {},
series: [{
name: '销量',
type: 'bar',
data: [5, 20, 36, 10, 10, 20]
}]
}; // 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
</script>
</body>
</html>

这样你的第一个图表就诞生了!

四、进阶

在一个canvas根据传入的配置参数不同,绘制不同的图表。

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>echarts_ajax</title>
<!-- 引入 ECharts 文件 -->
<script src="http://www.daipianpian.com/common/js/echarts.min.js"></script>
<link href="http://www.daipianpian.com/common/css/resetcsspc.css" rel="stylesheet">
<style>
.demobox{width: 800px;height: auto;margin: 100px auto 0px;overflow: hidden;}
.tabnav{width: 100%;height: 40px;margin: 0 auto 50px;}
.tabnav ul{width: 49%;height: 100%;margin: 0 auto;overflow: hidden;zoom: 1;}
.tabnav li{float: left;width: 88px;height: 38px;line-height: 38px; margin-right: 8.6px;text-align: center;color: #333;font-size: 16px; background-color: #AADBCE;border: 1px solid #CEE8E0; border-radius: 4px;}
.tabnav li.active{color: #000; border: 1px solid #a4604d;background-color: #fff;}
.tabnav li:hover{cursor: pointer;}
.tabnav li:last-child{margin-right: 0px;}
.main{width: 800px;height:400px;}
</style>
</head>
<body>
<div class="demobox">
<div class="tabnav">
<ul id="tab">
<li class="active">按天</li>
<li>按月</li>
<li>按年</li>
<li>折线</li>
</ul>
</div> <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
<div id="main" class="main"></div>
</div>
<script type="text/javascript">
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main')); var host = 'https://www.easy-mock.com/mock/5b06d6f072643c7a5c4edcb6/echarts';
//创建异步对象
var xhr = new XMLHttpRequest();
function ajaxPost(url){
xhr.open('post',host+url,true);
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
xhr.send('');
xhr.onreadystatechange = function(){
if( xhr.readyState==4 && xhr.status==200){ var responseText = eval("("+xhr.responseText+")");
//拿到数据后更新页面
var option = responseText.data;
console.log(option);
myChart.clear(); // 清空画布
myChart.setOption(option); // 使用指定的配置项和数据显示图表
}
}
}
ajaxPost('/day'); // 为每个li标签循环绑定click事件
var oli=document.getElementById('tab').getElementsByTagName('li');//获取tab列表
for(var i=0 ; i<oli.length ; i++){
oli[i].index = i;//定义index变量,以便让tab按钮和tab内容相互对应
oli[i].onclick = function(){//移除全部tab样式和tab内容 var index = parseInt(this.index); switch(index)
{
case 0:
ajaxPost('/day');
break;
case 1:
ajaxPost('/month');
break;
case 2:
ajaxPost('/year');
break;
case 3:
ajaxPost('/brokenLine');
break;
} for(var i =0; i < oli.length; i++){
oli[i].className = '';
}
this.className = 'active';//为当前tab添加样式 }
} </script>
</body>
</html>

效果如下图:

ECharts 上手的更多相关文章

  1. ECharts上手例子

    ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器 (IE8/9/10/11,Chrome,Firefox,Safari等 ...

  2. vue学习【一】vue引用封装echarts并展示多个echarts图表

    大家好,我是一叶,经过一段时间对vue的学习,我打算把vue做一个系列,把踩过的坑和大家分享一下. 现在开始第一章:vue引用并封装echarts 在文章开始前,我先舔波echarts(真香).阿里的 ...

  3. Vue + Element-ui实现后台管理系统(4)---封装一个ECharts组件的一点思路

    封装一个ECharts组件的一点思路 有关后台管理系统之前写过三遍博客,看这篇之前最好先看下这三篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system ...

  4. ECharts数据图表系统? 5分钟上手!

    目录: 前言 简介 方法一:模块化单文件引入(推荐) 方法二:标签式单文件引入 [前言] 最近在捣鼓各种插件各种框架,发现这个ECharts还是比较不错的,文档也挺全的,还是中文的,给大家推荐一下. ...

  5. ECharts模块化使用5分钟上手

    什么是EChats? 一句话: 一个数据可视化(图表)Javascript框架,详细?移步这里,类似(推荐)的有 HighCharts,其他? 嗯,先看看吧-- 快速上手: 模块化单文件引入(推荐). ...

  6. 快速上手 Echarts

    最近使用到了 百度的 Echarts 数据可视化工具,这里简单介绍如何快速上手. 一.下载 这里选择目前最新版本,4.2.1 地址:https://github.com/apache/incubato ...

  7. 5 分钟上手 ECharts

    获取 ECharts 你可以通过以下几种方式获取 ECharts. 从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整 ...

  8. 5分钟上手写ECharts的第一个图表

    网址:http://echarts.baidu.com/doc/start.html 架构特性 http://echarts.baidu.com/doc/feature.html | 架构 提供商业产 ...

  9. echarts入门,5分钟上手写ECharts的第一个图表

    1.新建一个echarts.html文件,为ECharts准备一个具备大小(宽高)的Dom. <!DOCTYPE html> <head> <meta charset=& ...

随机推荐

  1. Linux Shell 判断块设备节点是否存在

    /************************************************************************* * Linux Shell 判断块设备节点是否存在 ...

  2. POJ 1664 放苹果(递归或DP)

    一.Description 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法. Input 第一行是测试数据的数目t ...

  3. 笔者带你剖析轻量级Sharding中间件——Kratos1.x

    之所以编写Kratos其实存在一个小插曲,当笔者满山遍野寻找成熟.稳定.高性能的Sharding中间件时,确实是翻山越岭,只不过始终没有找到一款合适笔者项目场景的中间件产品.依稀记得当年第一款使用的S ...

  4. linux 下查看文件修改时间,访问时间,状态改变时间

    http://blog.sina.com.cn/s/blog_6285b04e0100f4xr.html 查看文件时间戳命令:stat awk.txt File: `awk.txt' Size: 20 ...

  5. Java学习路线-知乎

    鼬自来晓 378 人赞同 可以从几方面来看Java:JVM Java JVM:内存结构和相关参数含义 · Issue #24 · pzxwhc/MineKnowContainer · GitHub J ...

  6. USACO-Friday the Thirteenth(黑色星期五)-Section1.2<3>

    [英文原题] Friday the Thirteenth Is Friday the 13th really an unusual event? That is, does the 13th of t ...

  7. RN控件之ProgressBarAndroid进度条

    /** * Sample React Native App * https://github.com/facebook/react-native */ 'use strict'; import Rea ...

  8. JQuery 1.6之后,获取属性推荐用prop

    今天在做界面,要获取CheckBox的是否被选中, var ck=$("#id").attr("checked"); 但是这样取得的值是undefined, 查 ...

  9. Flask13 面试要能吹 、安装虚拟机、虚拟机全局设置、导入虚拟机文件、虚拟机局部设置

    1 web开发工作的三个能力 1.1 开发思想 易维护:开发成本远低于维护成本 可扩展:随着访问量的增加会自动使用多个数据库 高可用:程序就像小强一样,开发的系统能够经得住狂风暴雨的吹残(例如:一台主 ...

  10. charles请求入参中有乱码

    工作中,需要入参,但是发现入参中,有中文的都是乱码,仔细查阅headers,发现Content-Type是application/x-www-form-urlencoded类型,而实际上,入参是jso ...