基于ECharts-JS图表库实现饼形图数据详细显示
2015-11-16 11:33
645 查看
在<head>中采用标签式单文件引入:
<script type="text/javascript" src="http://sunyanweblog.blog.163.com/blog/ECharts/echarts-all.js"></script>
在<body>中为饼形图的存放准备一个具备宽高的<div>:
<div id="container" style="height:550px;margin-top:20px;"></div>
在<body>中为分类数据详细展示准备一个<div>:
<div id="showContent" style="width:450px;height:500px;margin-top:210px;margin-left:250px;position:absolute;"></div>
在自定义js文件中基于准备好的<div>初始化echarts图表:
var myChart = echarts.init(document.getElementById('container'));
自定义option数据:
option = {
tooltip : {
trigger: 'item',
textStyle : {
fontSize : '20',
color:'white',
fontFamily:'幼圆'
},
formatter: "{b} : {c}个 约 {d}%",
},
legend: {
orient : 'vertical',
x : 'right',
textStyle : {
fontSize : '20',
color:'white',
fontFamily:'幼圆'
},
data:['掌握得很好','掌握得良好','掌握得一般','掌握得不好','未掌握']
},
toolbox: {
show : false,
},
calculable : true,
series : [{
name:'',
type:'pie',
radius : [20, 150],
center : ['50%', 200],
roseType : 'radius',
width: '40%',
max: 60,
itemStyle : {
normal : {
label : {
show : false
},
labelLine : {
show : false
}
},
emphasis : {
label : {
show : true,
textStyle : {
fontSize : '20',
fontFamily:'幼圆'
}
},
labelLine : {
show : true,
}
}
},
data:[
{value:levelArr[4], name:'掌握得很好',content:knowledgeArr[4]},
{value:levelArr[3], name:'掌握得良好',content:knowledgeArr[3]},
{value:levelArr[2], name:'掌握得一般',content:knowledgeArr[2]},
{value:levelArr[1], name:'掌握得不好',content:knowledgeArr[1]},
{value:levelArr[0], name:'未掌握',content:knowledgeArr[0]},
]
}]
};
为echarts对象加载数据:
myChart.setOption(option);
绑定点击事件:
var ecConfig = echarts.config;
myChart.on(ecConfig.EVENT.CLICK, function (param){
var val = option.series[param.seriesIndex].data[param.dataIndex].value;
var name = option.series[param.seriesIndex].data[param.dataIndex].name;
var content = option.series[param.seriesIndex].data[param.dataIndex].content;
var addHtml = "<p style='font-size:25;color:#FFFFFF;font-family:\"幼圆\";'>"+name+"的知识点 "+val+"个</p><br><hr style='margin-top:-5px;color:#FFFFFF;'><br>";
addHtml += "<p style='font-size:20;color:#00FFFF;font-family:\"幼圆\";'>"+content+"</p>";
document.getElementById('showContent').innerHTML = addHtml;
});
效果图:
<script type="text/javascript" src="http://sunyanweblog.blog.163.com/blog/ECharts/echarts-all.js"></script>
在<body>中为饼形图的存放准备一个具备宽高的<div>:
<div id="container" style="height:550px;margin-top:20px;"></div>
在<body>中为分类数据详细展示准备一个<div>:
<div id="showContent" style="width:450px;height:500px;margin-top:210px;margin-left:250px;position:absolute;"></div>
在自定义js文件中基于准备好的<div>初始化echarts图表:
var myChart = echarts.init(document.getElementById('container'));
自定义option数据:
option = {
tooltip : {
trigger: 'item',
textStyle : {
fontSize : '20',
color:'white',
fontFamily:'幼圆'
},
formatter: "{b} : {c}个 约 {d}%",
},
legend: {
orient : 'vertical',
x : 'right',
textStyle : {
fontSize : '20',
color:'white',
fontFamily:'幼圆'
},
data:['掌握得很好','掌握得良好','掌握得一般','掌握得不好','未掌握']
},
toolbox: {
show : false,
},
calculable : true,
series : [{
name:'',
type:'pie',
radius : [20, 150],
center : ['50%', 200],
roseType : 'radius',
width: '40%',
max: 60,
itemStyle : {
normal : {
label : {
show : false
},
labelLine : {
show : false
}
},
emphasis : {
label : {
show : true,
textStyle : {
fontSize : '20',
fontFamily:'幼圆'
}
},
labelLine : {
show : true,
}
}
},
data:[
{value:levelArr[4], name:'掌握得很好',content:knowledgeArr[4]},
{value:levelArr[3], name:'掌握得良好',content:knowledgeArr[3]},
{value:levelArr[2], name:'掌握得一般',content:knowledgeArr[2]},
{value:levelArr[1], name:'掌握得不好',content:knowledgeArr[1]},
{value:levelArr[0], name:'未掌握',content:knowledgeArr[0]},
]
}]
};
为echarts对象加载数据:
myChart.setOption(option);
绑定点击事件:
var ecConfig = echarts.config;
myChart.on(ecConfig.EVENT.CLICK, function (param){
var val = option.series[param.seriesIndex].data[param.dataIndex].value;
var name = option.series[param.seriesIndex].data[param.dataIndex].name;
var content = option.series[param.seriesIndex].data[param.dataIndex].content;
var addHtml = "<p style='font-size:25;color:#FFFFFF;font-family:\"幼圆\";'>"+name+"的知识点 "+val+"个</p><br><hr style='margin-top:-5px;color:#FFFFFF;'><br>";
addHtml += "<p style='font-size:20;color:#00FFFF;font-family:\"幼圆\";'>"+content+"</p>";
document.getElementById('showContent').innerHTML = addHtml;
});
效果图:
相关文章推荐
- 个人理解js
- JavaScript验证客户端密码强度
- 12种JavaScript常用的MVC框架比较分析
- Ajax异步调用放回JSON类型的数据
- threejs 因为精彩
- JavaScript获取屏幕宽高各种方法
- JSP 第一天:提交表单--获取表单中的数据值
- JS定义回车事件
- js页面关闭或者刷新的判断
- pdfjs文档在线预览
- week11---11月18日 JS基础(七)
- 在JS中,使用正则表达式,用指定字符替换字符串前后空格
- 跟我学习javascript的函数和函数表达式
- JSP学习笔记
- js正则篇幅
- javascript 判断IOS版本号
- js实现不刷新文件下载功能
- 跟我学习javascript的var预解析与函数声明提升
- js中的target与currentTarget的区别<转>
- week11---11月17日 JS基础(六)