Tao Gu 2022-03-16 11:24 采纳率: 0%
浏览 615
已结题

echarts的series.data传对象不显示?

之前做的图series.data可直接传对象{name:“”,value:} 现在这样只显示数据
var listdata = []

for (i = 0; i < province.length; i++) {
var json = {
count: province[i].total.confirm,
name: province[i].name,
}
listdata.push(json)
}
myChart.setOption({
series: [{
data: listdata
}]
})

结果只显示数据不显示name

![img](运行结果及报错内容 https://img-mid.csdnimg.cn/release/static/image/mid/ask/445865004746127.png "#left")

将 name单独放入一个数组 赋给XAxis.data

img

img


有什么方法可以直接将对象赋值给series.data?

  • 写回答

1条回答 默认 最新

  • 关注

    listdata应该是一个二维数组,参考:

    <div id="incomeEchars" style="width: 100%;height:400px;"></div>
    
    incomeEchars.setOption({
                tooltip: {
                    trigger: 'axis'
                },
                legend: {
                    left:'8%',
                    itemStyle:{
                        borderType :'solid'
                    },
                    lineStyle:{
                        width:0,
                    }
                },
                xAxis: {
                    name:'时间',
                    type: 'category',
                    boundaryGap: false,
                    axisLabel: {
                        interval:0,
                        formatter: function (value) {
                            if( !isNaN(value)) return value+"时";
                            else return value;
                        }
                    }
                },
                yAxis: {
                    name:'实收金额',
                    type:'value',
                }
            });
    
    
    var incomeEchars=echarts.init(document.getElementById('incomeEchars'),'dark');
            incomeEchars.setOption({
                tooltip: {
                    trigger: 'axis'
                },
                legend: {
                    left:'8%',
                    itemStyle:{
                        borderType :'solid'
                    },
                    lineStyle:{
                        width:0,
                    }
                },
                xAxis: {
                    name:'时间',
                    type: 'category',
                    boundaryGap: false,
                    axisLabel: {
                        interval:0,
                        formatter: function (value) {
                            if( !isNaN(value)) return value+"时";
                            else return value;
                        }
                    }
                },
                yAxis: {
                    name:'实收金额',
                    type:'value',
                }
            });
    
    
    
    $.post("${pageContext.request.contextPath}/welcome/incomeData",{
                    type:type,
                    startTime:startTime,
                    endTime:endTime ,
                    day:days
                },function(data){
                    var wc=[],a=[],ca=[],mc=[];
                    for(var j=0;j<data.weChat.length;j++){
                        var w=data.weChat[j];
                        wc.push([w.datestr,w.totalMoney]);
                    }
                    for(var j=0;j<data.alipay.length;j++){
                        var al=data.alipay[j];
                        a.push([al.datestr,al.totalMoney]);
                    }
                    for(var j=0;j<data.cash.length;j++){
                        var c=data.cash[j];
                        ca.push([c.datestr,c.totalMoney]);
                    }
                    for(var j=0;j<data.memberCard.length;j++){
                        var m=data.memberCard[j];
                        mc.push([m.datestr,m.totalMoney]);
                    }
                    var weChat={
                        name:'微信',
                        data: wc,
                        type: 'bar',
                    }
                    var alipay={
                        name:'支付宝',
                        data: a,
                        type: 'bar',
                    }
                    var cash={
                        name:'现金',
                        data: ca,
                        type: 'bar',
                    }
                    var memberCard={
                        name:'会员卡',
                        data: mc,
                        type: 'bar',
                    }
                    incomeEchars.setOption({
                        series:[weChat,alipay,memberCard,cash],
                        legend:{data: ['现金','微信','支付宝','会员卡']}
                });
                },'json');
            }
    
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月18日
  • 创建了问题 3月16日