echarts java动态数据,echarts动态刷新数据,echarts重新加载数据

echarts动态刷新数据,echarts重新加载数据

在这次的项目中图表显示的部分比较多,这边给分享下用到的图表的数据刷新

0ce7c48127c6d5a72c8c1172430f98e1.png

饼图最后的效果

先看下

前端部分

这是右边图的 echarts的html  一定要定义好大小

接下来是 js部分 先定义一个模板 官网有 自己稍加修改 (比较懒没加注释)

//绘制会员量比例图表

var memberChart = echarts.init(document.getElementById('member'));

memberChart.setOption({

tooltip: {

trigger:'item',

formatter:"{a}
{b}: {c} ({d}%)"},

legend: {

itemHeight:10,

itemWidth:10,

orient:'vertical',

x:'center',

y:'bottom',

icon:'roundRect',

formatter:function(name) {var index = 0;var clientlabels = ['新增会员','老会员'];var clientcounts = [621,32032];

clientlabels.forEach(function(value,i){if(value ==name){

index=i;

}

});return name + " " +clientcounts[index];

}

},

series: [

{

name:'男女比例',

type:'pie',

radius: ['45%', '53%'],

avoidLabelOverlap:false,

hoverAnimation:false,

data:[

{value:621, name:'新增会员'},

{value:32032, name:'老会员'},

],

itemStyle: {

normal:{

label:{

position :'outside',

formatter:'{d}%',

fontSize:10,

},

labelLine :{

length:2,

length2:2,

show:false,

}

}

}

}

],

color:['#0090FF','#F6A20C'],

title: {

subtext:'会员总人数',

text:'32653',

x:'center',

y:'center',

padding:0,

itemGap:0,

textStyle:{

fontSize:20,

},

subtextStyle:{

fontSize:10,

},

},

graphic: {

type:'text',

style:{

x:15,

y:15,

font:'bolder 1.2em "PingFang-SC-Medium", sans-serif',

text:'今日新增会员比例',

},

},

});

因为 主副标题被我拿去显示不同数据了  所有用上了

graphic

原生图形元素组件

接下来 看下 动态刷新数据的js

functionreflushMember(data) {

memberChart.setOption({

legend: {

formatter:function(name) {var index = 0;var clientlabels = ['新增会员','老会员'];var clientcounts =[data.newMemberCount, data.oldMemberCount];

clientlabels.forEach(function(value,i){if(value ==name){

index=i;

}

});return name + " " +clientcounts[index];

}

},

series: [

{

data:[

{value:data.newMemberCount, name:'新增会员'},

{value:data.oldMemberCount, name:'老会员'},

],

}],

title: {

text:data.memberCount,

}

})

}

主要就是把之前模板上的数据部分替换成 后台获取到的数据

饼图的刷新就到这里

还有个横向柱状图 其实都是差不多的 但是还是也看下吧

先看效果

290155d1b57de813890c3e2509e5bae4.png

这是4个横向柱状图  适应不同的搜索条件 就看下 月度top5的吧

position:absolute;margin-left: 18%;margin-top: 1.4%;

font: bolder 1.2em PingFang-SC-Medium sans-serif;">

//绘制月度热力商圈图表

var monthAreaChart = echarts.init(document.getElementById('monthArea'));

monthAreaChart.setOption({

dataset: {

source: [/*[58212, '小郡干串串'],

[78254, '钢管厂'],

[41032, '耐克'],

[12755, '金大福'],

[20145, '肯德基'],*/]

},/*grid: {containLabel: true},*/xAxis: {name:'(人)',

show:true,

splitLine: {

show:false}},

yAxis: {type:'category',

axisLine:{show:false}, //坐标轴

axisTick:[{ //坐标轴小标记

show:false}],

},

grid:{

height:'70%',

y2:20,

left:'15%',

},

series: [

{

textStyle:{

fontSize:10,

},

type:'bar',

encode: {//Map the "amount" column to X axis.

x: 'amount',//Map the "product" column to Y axis

y: 'product'},/*barWidth: 10,*/barGap:'70%',/*多个并排柱子设置柱子之间的间距*/barCategoryGap:'50%',/*多个并排柱子设置柱子之间的间距*/itemStyle: {

normal: {

color:new echarts.graphic.LinearGradient(0, 0, 1, 0, [{

offset:0,

color:'#438CFF'}, {

offset:1,

color:'#20C0F4'}]),

label: {

show:true, //开启显示

position: 'right', //在上方显示

textStyle: { //数值样式

color: 'black',

fontSize:10}

},

}

},

}

],

graphic: {

type:'text',

style:{

x:15,

y:15,

font:'bolder 1.2em "PingFang-SC-Medium", sans-serif',

text:'月度TOP5',

},

},

上面是 横向柱状图 模板例子

var listTop5Result =result.listTop5Result;for(var i = listTop5Result.length - 1; i >= 0; i--){

names.push(listTop5Result[i].deptName);//挨个取出类别并填入类别数组

}for(var i = listTop5Result.length - 1; i >= 0; i--){

nums.push(listTop5Result[i].num);//挨个取出人次并填入销量数组

}

myChart.hideLoading();//隐藏加载动画

myChart.setOption({ //加载数据图表

yAxis: {

data: names

},

series: [{

data: nums

}]

});

上面是 动态获取 并要刷新的数据  和饼图不同的是 柱状图传进去的要是数组

以上就是我要分享的内容了

感谢

如果有什么错误 请多多指教!

2019-11-12 19:52:21

http://www.dengb.com/Javabc/1379824.htmlwww.dengb.comtruehttp://www.dengb.com/Javabc/1379824.htmlTechArticleecharts动态刷新数据,echarts重新加载数据 在这次的项目中图表显示的部分比较多,这边给分享下用到的图表的数据刷新 饼图最后的效果 先...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值