目录
异步加载数据的时候需要导入一个jquery-2.2.4.js文件
一.
1.首先下载个echarts.js
2.引入echarts
<!--在head标签中添加对echarts的引用-->
<script src="echarts.js"></script> //src="echarts.js文件的地址"
3.准备一个dom容器
<!--添加一个div,用来做图标渲染的容器-->
<div id="main" style="width: 600px;height: 400px;"</div>
4.创建一个简单的饼图
完整代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--在head标签中添加对echarts的引用-->
<script src="echarts.js"></script>
</head>
<body>
<!--添加一个div,用来做图标渲染的容器-->
<div id="main" style="width: 600px;height: 400px;"</div>
<!--js初始化和配置参数-->
<script type="text/javascript">
// 初始化echarts实列 echarts.init()/
var myChar = echarts.init(document.getElementById('main'));
/* var option = {
legend: {
top: 'bottom'
},
series:[
{
name:'miegui',
type:'pie',
radius:[40,180],
center:['50%','50%'],
roseType:'area',
itemStyle:{
borderRadius:8
},
data:[
{value:4,name:'节日活动'},
{value:3,name:'团购促销'},
{value:2,name:'微信推广'},
{value:5,name:'自愿'}
]
}
]
};*/ //这里是玫瑰图的代码
// 配置参数
var option={
title:{
text:'会员入会渠道分布',
left:'center'
},
legend:{
orient:'vertical',
left:'left'
},
series:[
{
name:'Acces',
type:'pie',
radius:'50%',
data:[
{value:4,name:'节日活动'},
{value:3,name:'团购促销'},
{value:2,name:'微信推广'},
{value:5,name:'自愿'}
],
emphasis:{
itemStyle:{
shadowBlur:10,
shadowOffsetX:0,
shadowColor:'rgba(0,0,0,0.5)'
}
}
}
]
};
// 渲染视图,使用刚刚指定的配置项和数据显示图表
myChar.setOption(option);
</script>
</body>
</html>
5.更多的详细的配置在官方文档里都有介绍 地址:Documentation - Apache ECharts
https://echarts.apache.org/zh/option.html#title
二.
异步加载数据的时候需要导入一个jquery-2.2.4.js文件
下载地址:
js文件的数据在:链接:https://pan.baidu.com/s/1gETTtOmeSdNHKIsFPuBk_A
提取码:vnoh
1.异步加载数据画折线图
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="echarts.js"></script>
<script src="jquery-2.2.4.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height: 400px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
//显示标题,图列和空的坐标轴
myChart.setOption({
title:{},
tooltip:{trigger:'axis'},
legend:{},
calculable: true,
xAxis:{
type:'category',
boundaryGap:false,
data:[]
},
yAxis:{
type:'value'
},
series:[{
type:'line',
symbol:'emptydiamond', //设置折现图中每个坐标点的符号 emptycircle:空心圆 emptycircle:空心圆
data:[]
}]
});
myChart.showLoading(); //数据加载完之前显示一段简单的loading动画
var AREA=[]; //类别数组(用来存放取出的json数据)
var LANDNUM=[];
$.ajax({
type:"get",
url:"js/data1.json", //请求数据的地址
dataType:"json", //返回的数据形式为json
success:function (result){
//请求内容成功时执行该函数内容result即为服务器返回的json对象
$.each(result.jinJian, function(index,item) {
AREA.push(item.AREA); //挨个取出类别并填入类别数组
LANDNUM.push(item.LANDNUM);
});
myChart.hideLoading(); //隐藏加载动画
myChart.setOption({ //加载数据图表
xAxis:{
data:AREA
},
series:[{
data:LANDNUM
}]
});
}
});
</script>
</body>
</html>
2.异步加载数据画柱状图
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="echarts.js"></script>
<script src="jquery-2.2.4.js"></script>
</head>
<body>
<div id="main" style="width: 600px; height: 400px;"></div>
<script type="text/javascript">
var myChart = echarts.init(document.getElementById('main'));
$.get('js/bar.json',function(data){
myChart.setOption(Option={
title:{
text:'异步加载数据'
},
legend:{
data:data.categories
},
xAxis:{
data:data.categories
},
yAxis:{},
series:[{
type:'bar',
data:data.data
}]
});
});
</script>
</body>
</html>
3.异步加载数据画饼图
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="echarts.js"></script>
<script src="jquery-2.2.4.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height: 400px;"></div>
<script type="text/javascript">
$.ajax({
type:'get',
async:false,
url:'js/pie.json',
data:{},
dataType:'json',
success:function(result){
if (result){
bind(result);
}
},
error:function(errorMsg){
alert("加载数据失败");
}
});
function bind(result){
var myChart = echarts.init(document.getElementById('main'));
var option = {
tooltip:{
trigger:'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
legend:{
orient : 'vertical',
x : 'left',
data:(function(){
var res = [];
var len = result.data_pie.length;
for(var i=0,size=len;i<size;i++) {
res.push({
name: result.data_pie[i].name,
});
}
return res;
})()
},
series:[{
type:'pie',
data:(function( ){
var res=[];
var len = result.data_pie.length;
for(var i=0,size=len;i<size;i++) {
res.push({
name:result.data_pie[i].name,
value:result.data_pie[i].value
});
}
return res;
})()
}]
};
myChart.setOption(option);
}
</script>
</body>
</html>
4. 异步加载数据画漏斗图
(这里俺画的有问题)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="echarts.js"></script>
<script src="jquery-2.2.4.js"></script>
</head>
<body>
<div id="main" style="width: 600px;height: 400px;"></div>
<script type="text/javascript">
$.ajax({
type:'get',
async:false,
url:'js/funnel.json',
data:{},
dataType:'json',
success:function(result){
if (result){
bind(result);
}
},
error:function(errorMsg){
alert("加载数据失败");
}
});
function bind(result){
var myChart = echarts.init(document.getElementById('main'));
var option = {
series:[{
type:'funnel',
left: '10%',
width: '80%',
label:{
formatter: '{b}Expected'
},
labelLine: {
show: false
},
itemStyle: {
opacity: 0.7
},
emphasis: {
label: {
position: 'inside',
formatter: '{b}Expected: {c}%'
}
},
data: [
{ value: 60, name: '生成订单30%' },
{ value: 40, name: '支付订单20%' },
{ value: 20, name: '完成交易15%' },
{ value: 80, name: '放入购物车50%' },
{ value: 100, name: '浏览商品100%' }
]
},
{
name: 'Actual',
type: 'funnel',
left: '10%',
width: '80%',
maxSize: '80%',
label: {
position: 'inside',
formatter: '{c}%',
color: '#fff'
},
itemStyle: {
opacity: 0.5,
borderColor: '#fff',
borderWidth: 2
},
emphasis: {
label: {
position: 'inside',
formatter: '{b}Actual: {c}%'
}
},
data:(function( ){
var res=[];
var len = result.list.length;
for(var i=0,size=len;i<size;i++) {
res.push({
name:result.list[i].department,
value:result.list[i].num
});
}
return res;
})()
}]
};
myChart.setOption(option);
}
</script>
</body>
</html>
5.异步加载数据画组合图
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="echarts.js"></script>
<script src="jquery-2.2.4.js"></script>
</head>
<body>
<div id="main" style="width: 800px; height: 600px;"></div>
<script type="text/javascript">
$.ajax({
type:'get',
async:false,
url:'js/test.json',
data:{},
datatype:'json',
success:function(result){
if (result){
bind(result);
}
},
error:function(errorMsg){
alert("加载数据失败");
}
});
//请求内容成功时执行该函数内容result即为服务器返回的json对象
function bind(result){
var myChart = echarts.init(document.getElementById('main'));
var option = {
grid:{
left:'10%',
right:'35%',
top:'16%',
bottom:'6%',
containLabel:true
},
xAxis:{
type:'category',
data:(function(){
var res = [];
var len = result.data_pie_bar.length;
for(var i=0,size=len;i<size;i++) {
res.push({
value:result.data_pie_bar[i].name
});
}
return res;
})()
},
yAxis:{
type:'value'
},
radar:{
indicator:[{
name:'语文',
max:'100'
},{
name:'数学',
max:100
},{
name:'英语',
max:100
},{
name:'化学',
max:100
},{
name:'物理',
max:100
}],
center:['83%','85%'],
radius:80
},
tooltip:{
trigger:'item',
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
/*legend:{
orient : 'vertical',
x : 'left',
data:(function(){
var res = [];
var len = result.data_pie_bar.length;
for(var i=0,size=len;i<size;i++) {
res.push({
name: result.data_pie_bar[i].name,
});
}
return res;
})()
},*/
series:[{
center:['83%','50%'],
radius:'28%',
type:'gauge',
axisTick: {
splitNumber: 2,
lineStyle: {
width: 2,
color: '#999'
}
},
axisLine: { //简单来说就是外圈的宽度
roundCap: true,
lineStyle: {
width: 18
}
},
pointer: {
icon: 'path://M2090.36389,615.30999 L2090.36389,615.30999 C2091.48372,615.30999 2092.40383,616.194028 2092.44859,617.312956 L2096.90698,728.755929 C2097.05155,732.369577 2094.2393,735.416212 2090.62566,735.56078 C2090.53845,735.564269 2090.45117,735.566014 2090.36389,735.566014 L2090.36389,735.566014 C2086.74736,735.566014 2083.81557,732.63423 2083.81557,729.017692 C2083.81557,728.930412 2083.81732,728.84314 2083.82081,728.755929 L2088.2792,617.312956 C2088.32396,616.194028 2089.24407,615.30999 2090.36389,615.30999 Z',
length: '75%',
width: 7,
offsetCenter: [0, '5%']
},
detail:{
formatter:'{value}'
},
title:{
offsetCenter:[0,'10%'] //设置km/h的位置
},
data:(function(){
var res = [];
var len = result.data_gauge.length;
for(var i=0,size=len;i<size;i++) {
res.push({
name: result.data_gauge[i].name,
value:result.data_gauge[i].value
});
}
return res;
})()
},{
type:'bar',
data:(function(){
var res = [];
var len = result.data_pie_bar.length;
for(var i=0,size=len;i<size;i++) {
res.push({
value: result.data_pie_bar[i].value
});
}
return res;
})()
},{
type:'pie',
center:['83%','20%'],
radius:['15%','20%'],
data:(function( ){
var res=[];
var len = result.data_pie_bar.length;
for(var i=0,size=len;i<size;i++) {
res.push({
name:result.data_pie_bar[i].name,
value:result.data_pie_bar[i].value
});
}
return res;
})()
},
{
type:'radar',
center:['83%','85%'],
data:(function( ){
var res=[];
var len = result.data_radar.length;
for(var i=0,size=len;i<size;i++) {
res.push({
value:result.data_radar[i].value
});
}
return res;
})()
}
]
};
myChart.setOption(option);
}
</script>
</body>
</html>