如何快速上手ECharts
ECharts,缩写来自Enterprise Charts,商业级数据图表,是百度的一个开源的数据可视化工具,一个纯Javascript的图表库。
ECharts的获取
获取 ECharts 的路径有以下几种,请根据您的情况进行选择:
1.最直接的方法是在 ECharts 的官方网站中挑选适合您的版本进行下载,不同的打包下载应用于不同的开发者功能与体积的需求,或者您也可以直接下载完整版本;开发环境建议下载源代码版本,包含了常见的错误提示和警告。
2.也可以在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库。
3.或者通过 npm 获取 echarts,npm install echarts --save,详见“在 webpack 中使用 echarts”
4.由 cdn 引入,你可以在 cdnjs,npmcdn 或者国内的 bootcdn 上找到 ECharts 的最新版本。
ECharts官网下载
如何引入ECharts?
ECharts 的引入方式变简单了,因为从 ECharts 3 开始就不用使用 AMD 的方式引入,代码也不再内置 AMD 加载器,所以 ECharts 的引入方式就可以像 JavaScript 库一样用 script 标签引入即可。
<html>
<head>
<script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>
//引入echarts
<script src="../../echarts.min.js"></script>
</head>
</html>
使用ECharts绘制一个简单的饼状图图表
首先顶一个展示图标的DOM容器
<body>
<div id="frameContent" class="content-wrapper" style="margin-left:0px;">
<section class="content-header">
<h1>
统计分析
<small>工厂销售统计</small>
</h1>
</section>
<section class="content">
//定义一个div标签用于展示图表的容器
<div class="box box-primary">
<div id="main" style="width: 100%;height:400px;"></div>
</div>
</section>
</div>
</body>
通过使用 echarts.init 方法来初始化一个 echarts 实例和使用 setOption 方法生成一个简单的柱状图.
<script>
//异步请求返回的json数据为factoryData
$.get("/stat/getFactoryData.do", function (factoryData) {
var name = [];
var value = [];
for (var i=0; i<factoryData.length; i++){
name[i]=factoryData[i].name;
value[i]=factoryData[i].value;
}
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('main'));
// 指定图表的配置项和数据
var option = {
title : {
text: '某站点用户访问来源',
subtext: '纯属虚构',
x:'center'
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend: {
orient: 'vertical',
left: 'left',
//展示工厂名称
data: name
},
series : [
{
name: '访问来源',
type: 'pie',
radius : '55%',
center: ['50%', '60%'],
data:factoryData,//[{key,value},{key,value}]
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
});
</script>
效果图展示
- 关于 ECharts的使用,参考 w3cSchool.