ECharts饼图从后台动态获取数据并展示

2021-03-01

多y轴及y轴随着时间增加,动态描绘;

固定x轴为15段,并设置当超过15时,按FILO顺序进行移除最旧的元素重新绘图(shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。提示:要删除并返回数组的最后一个元素,请使用 pop() 方法。)


 

$.post( url, {'id' : gridStationSeq  },
function(result) {
if (result != null) {
var label=[];
var data = JSON.parse(result);
var arr=[];
alert(data.nFaultStakeNum);
// arr=Object.values(data);//获取json的val
// arr=_(result).toArray();

$.map(data, function(value, key) {
if(key!='stakeCount'&& key!='stakeRate'){
arr.push({'name':cName(key),'value':value});//转化为map数组
//label=({'name':cName(key)});//表头名称legend
}
});
label=Object.keys(data);//获取json的key表头
chargeTotalOption.legend.data=label;
chargeTotalOption.series[0].data=arr;
// chargeTotalOption.series[0]['radius']=[0,100];
chargeTotalChart.setOption(chargeTotalOption);

//统计结果
$("#stakeCount").html(data.stakeCount==null?0:data.stakeCount);
$("#okStakeNum").html(data.okStakeNum==null?0:data.okStakeNum);
$("#offlineStakenNum").html(data.offlineStakenNum==null?0:data.offlineStakenNum);
$("#nFaultStakeNum").html(data.nFaultStakeNum==null?0:data.nFaultStakeNum);
$("#stakeRate").html(data.stakeRate==null?0:data.stakeRate);
chargeTotalChart.hideLoading();
} else {
chargeTotalChart.hideLoading();
parent.alertify.confirm('提示', result.msg,'info');
}

});

---------------------------------------------------------------------------------------------------------------------------

三个柱子赋值

 

carOnlineoption.xAxis[0].data = transferArmsData(carOnlineData,'date');
carOnlineoption.series[0].data=transferArmsData(carOnlineData,'carOnlineSum');
carOnlineoption.series[1].data=transferArmsData(carOnlineData,'sum_left30s');
carOnlineoption.series[2].data=transferArmsData(carOnlineData,'sum_over30s');
carOnlineChart.setOption(carOnlineoption);
carOnlineChart.hideLoading();

 

carOnlineoption = {
   tooltip : {
       trigger: 'axis',
       axisPointer : {            // 坐标轴指示器,坐标轴触发有效
           type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
       }
   },
   toolbox : {
feature : {
dataView : {
show : true,
readOnly : false
},
magicType : {
show : true,
type : [ 'line', 'bar' ]
},
saveAsImage : {
show : true
}
}
},
   legend: {
       data:['在线车辆数','间隔30s内','间隔30s外']
   },
   grid: {
       left: '3%',
       right: '4%',
       bottom: '3%',
       containLabel: true
   },
   xAxis : [
       {
           type : 'category',
           data : []
       }
   ],
   yAxis : [
       {
           type : 'value'
       }
   ],
   series : [
    
       {
           name:'在线车辆数',
           type:'bar',
           barWidth : 10,
           stack: '车辆',
           data:[]
       },
       {
           name:'间隔30s内',
           type:'bar',
           barWidth : 10,
           stack: '30s内',
           data:[]
       },
       {
           name:'间隔30s外',
           type:'bar',
           barWidth : 10,
           stack: '30s外',
           data:[]
       }
   ]
};

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在echarts饼图后台获取数据,可以使用Ajax技术向后台发送请求,获取数据后再进行图表的渲染。具体步骤如下: 1. 在前端页面中引入echarts库和jQuery库。 2. 在页面中创建一个div元素,用于显示饼图。 3. 使用Ajax向后台发送请求,获取数据。 4. 在Ajax的回调函数中,解析后台返回的数据,并将数据转换为echarts所需的格式。 5. 使用echarts库中的API,将数据渲染成饼图,并显示在页面中。 以下是一个示例代码: ```javascript // 引入echarts库和jQuery库 <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.1.2/echarts.min.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> // 创建一个div元素,用于显示饼图 <div id="pieChart" style="width: 600px;height:400px;"></div> // 使用Ajax向后台发送请求,获取数据 $.ajax({ url: 'data.php', // 后台接口地址 type: 'get', dataType: 'json', success: function (res) { // 解析后台返回的数据,并将数据转换为echarts所需的格式 var data = []; for (var i = 0; i < res.length; i++) { data.push({ name: res[i].name, value: res[i].value }); } // 使用echarts库中的API,将数据渲染成饼图,并显示在页面中 var myChart = echarts.init(document.getElementById('pieChart')); var option = { title: { text: '饼图示例' }, series: [{ name: '访问来源', type: 'pie', radius: '55%', data: data }] }; myChart.setOption(option); } }); // 相关问题:

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值