本文主要介绍Echart的入门使用
如有需要,可以参考
如有帮助,不忘 点赞 ❥
前文预热
1)简介:
ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Safari等),底层依赖矢量图形库 ZRender,提供直观,交互丰富,可高度个性化定制的数据可视化图表。
2)优点:
- 丰富的可视化类型
- 多种数据格式无需转换直接使用
- 千万数据的前端展现
- 移动端优化
- 多渲染方案,跨平台使用!
- 深度的交互式数据探索
- 多维数据的支持以及丰富的视觉编码手段
- 动态数据
- 绚丽的特效
- 通过 GL 实现更多更强大绚丽的三维可视化
正文上手
1)获取Echart
- 从官网下载界面选择你需要的版本下载,根据开发者功能和体积上的需求,我们提供了不同打包的下载,如果你在体积上没有要求,可以直接下载完整版本。开发环境建议下载源代码版本,包含了常见的错误提示和警告。
- 在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库。
- 通过 npm 获取 echarts,npm install echarts --save,详见“在 webpack 中使用 echarts”
- cdn 引入,你可以在 cdnjs,npmcdn 或者国内的 bootcdn 上找到 ECharts 的最新版本。
2)引入 ECharts
ECharts 3 开始不再强制使用 AMD 的方式按需引入,代码里也不再内置 AMD 加载器。因此引入方式简单了很多,只需要像普通的 JavaScript 库一样用 script 标签引入。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- 引入 ECharts 文件 -->
<script src="echarts.min.js"></script>
</head>
</html>
3)绘制一个简单的图表
<body>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="width: 600px;height:400px;"></div>
</body>
然后生成一个简单的柱状图,下面是完整代码。
<!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>
其中数据可以通过ajax异步请求获取 , 代码如下:
<script type="text/javascript">
$(function(
loadActiveCustChart();
))
//定义一个用来获取数据的函数
function getChartData(name,value) { //传入两个数据,用来填充数据
$.ajax({
async: false,
url:"getUserReportChart",
type:"get",
dataType:"json", //后端可以传一个List<Map<String,Object>> 的json数据来到前端
success:function(result){
console.log(result.body);
debugger
for(var i =0;i < result.body.length;i++){
name.push(result.body[i].name);
value.push(result.body[i].value);
}
}
})
}
function loadActiveCustChart() {
var activeCustName = [];
var activeCustValue = [];
getChartData(activeCustName,activeCustValue);
var myChart = echarts.init(document.getElementById('activeCust'));
var option = {
tooltip: {},
xAxis: {
data: activeCustName, //后台获取的数据
axisLabel:{
interval:0, //用来显示X轴的完整信息展示
rotate:-45, //用来显示X轴信息的倾斜程度
},
},
yAxis: {},
series: [{
name: '月活跃用户趋势',
type: 'bar',
data: activeCustValue, //后台的获取的数据
itemStyle:{
normal:{
color:'#6e95ba'
}
}
,label: { //这个用来在柱顶显示数据的
normal: {
show: true,
position: 'top',
textStyle: {
color: 'black'
}
}
}
}],
};
myChart.setOption(option);
</script>
其他图表可以参照 官网实例 ,重点在于数据的动态获取