javascript - 饼图图例设置了,可初始化的图表中图例不出现
PHP中文网
PHP中文网 2017-04-11 12:53:47
[JavaScript讨论组]

背景:angular自定义指令结合echarts生成饼图
昨天我在处理饼图的时候,莫名其妙图例没有了,也不知道因为什么原因,排查了很久都没有发现。legend正常设置,并且回调中输出legend的值也存在,请问有没有遇到过这样情况的?最终是怎么解决的呢?恳请指导。
html代码如下:

js代码如下:

var app=angular.module('reportPro',[]);
    app.controller('pieCtrl1',function($scope){
        $scope.url='../../dataStatistics/getPieDataOne.action';
        $scope.name='全市项目申请批复情况';
        $scope.trigname='批复情况';
    });
    
    app.controller('pieCtrl2',function($scope){
        $scope.url='../../dataStatistics/getPieDataTwo.action';
        $scope.name='全市已批复项目建设状态';
        $scope.trigname='建设状态';
    });
    
    
    //饼图应用自定义指令
    app.directive('pieChart',function($http){
        return {
            scope:{
                id:'@',
                url:'=',
                name:'=',
                trigname:'=',
            },
            restrict:'E',
            template:'

', replace:true, link:function($scope,element,attrs,controller){ $http({ method:'get', url:$scope.url }).then(function(res){ var data=res.data.dataList; var legends=res.data.titleList; console.log(legends); var option={ title : { text: $scope.name, x:'center', textStyle:{ color:'#f9f9f9' }, }, tooltip : { trigger: 'item', formatter: "{b}" }, legend: { left: 'center', bottom: '30%', orient: 'horizontal', textStyle:{ color:'#f9f9f9' }, data:legends }, series :function(){ return [ { name: $scope.trigname, type: 'pie', radius : '55%', center: ['50%', '53%'], data:data, itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' }, normal:{ label:{ formatter:'{d}%' } } } } ] }(), color:['#ffa500',"#87cefa", "#da70d6", "#32cd32", "#6495ed", "#ff69b4", "#ba55d3", "#cd5c5c", "#ffa500", "#40e0d0", "#1e90ff", "#ff6347", "#7b68ee", "#00fa9a", "#ffd700", "#6699FF", "#ff6666", "#3cb371", "#b8860b", "#30e0e0"] }; var myChart=echarts.init(document.getElementById($scope.id)); myChart.setOption(option); window.addEventListener('resize',function(){ myChart.resize(); }) }); } } });

运行结果如下:

如图所示,我的图例并没有显示,希望有经验的朋友指导一下,感激不尽!

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
大家讲道理

已经找到问题了,因为后台提供的数据中legend对应的名称和series的data数据内的名称不一致,导致图例不能出现

ringa_lee

1.先查看节点是否有canvas节点绘制 2.检查是否是图表容器宽高

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号