echarts图表数据信息动态获取
程序员文章站
2022-06-09 11:30:22
第一步准备一个json文件echarts.json(名字无所谓),用来模拟从后台获取数据 第二步在页面直接引用JS文件 第三步在body中准备一个容器,写好样式,用来显示图表 最后一步在js中初始化echarts对象,实现动态加载数据。 ......
第一步准备一个json文件echarts.json(名字无所谓),用来模拟从后台获取数据
{
"name":["直达","营销广告","搜索引擎","邮件营销","联盟广告","视频广告","百度","谷歌","必应","其他"],
"data":[
{"value":335, "name":"直达"},
{"value":310, "name":"邮件营销"},
{"value":234, "name":"联盟广告"},
{"value":135, "name":"视频广告"},
{"value":1048, "name":"百度"},
{"value":251, "name":"谷歌"},
{"value":147, "name":"必应"},
{"value":102, "name":"其他"}
],
"little":[
{"value":335, "name":"直达","selected":"true"},
{"value":679, "name":"营销广告"},
{"value":1548, "name":"搜索引擎"}
]
}
第二步在页面直接引用js文件
<script src="js/echarts.min.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript"src="js/jquery.min.js"></script>
第三步在body中准备一个容器,写好样式,用来显示图表
<div id="container"></div>
<style>
#container{
width: 800px;
height: 600px;
border: 1px solid #ccc;
margin: 0 auto;
}
</style>
最后一步在js中初始化echarts对象,实现动态加载数据。
<script type="text/javascript">
var container = document.getelementbyid('container');
// 初始化加载对象mycontainer
var mycontainer = echarts.init(container);
//未获取数据前,显示loading加载动画
mycontainer.showloading();
function binddata() {
//为了效果明显,我们做了延迟读取数据
settimeout(function() {
//异步加载数据,get请求我们刚刚准备的json文件,正式开发中调用相应的接口
$.get('echarts.json', function(res) {
console.log(res)
//获取数据后,隐藏loading动画
mycontainer.hideloading();
mycontainer.setoption(
option = {
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b}: {c} ({d}%)"
},
legend: {
orient: 'horizontal',
x: 'left',
data:res.name
},
series: [
{
name:'访问来源',
type:'pie',
selectedmode: 'single',
radius: ['0', '30%'],
label: {
normal: {
position: 'inner'
}
},
labelline: {
normal: {
show: false
}
},
data:res.little
},
{
name:'访问来源',
type:'pie',
radius: ['40%', '55%'],
label: {
normal: {
formatter: '{a|{a}}{abg|}\n{hr|}\n {b|{b}:}{c} {per|{d}%} ',
backgroundcolor: '#eee',
bordercolor: '#aaa',
borderwidth: 1,
borderradius: 4,
// shadowblur:3,
// shadowoffsetx: 2,
// shadowoffsety: 2,
// shadowcolor: '#999',
// padding: [0, 7],
rich: {
a: {
color: '#999',
lineheight: 22,
align: 'center'
},
abg: {
backgroundcolor: '#333',
width: '100%',
align: 'right',
height: 22,
borderradius: [4, 4, 0, 0]
},
hr: {
bordercolor: '#aaa',
width: '100%',
borderwidth: 0.5,
height: 0
},
b: {
fontsize: 16,
lineheight: 33
},
per: {
color: '#eee',
backgroundcolor: '#334455',
padding: [2, 4],
borderradius: 2
}
}
}
},
data:res.data
}
]
});
})
}, 1000);
}
binddata();
</script>
推荐阅读
-
vue+echarts实现动态绘制图表及异步加载数据的方法
-
制作高大上的Excel动态图表实现切换科目图表自动变更数据
-
微信小程序实现获取用户信息并存入数据库操作示例
-
微信小程序中使用ECharts 异步加载数据实现图表功能
-
sqlserver数据库获取数据库信息
-
echarts图表数据信息动态获取
-
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
-
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
-
数据库SQL实战题:获取员工其当前的薪水比其manager当前薪水还高的相关信息(教程)
-
数据库批量sql插入语句动态获取最新自增id问题如何解决?