余大侠在劈柴 2022-09-12 21:26 采纳率: 100%
浏览 86
已结题

微信小程序怎么修改echarts的value,还有再修改后图表跟着变化,重新绘制,没解决不会采纳,求大捞

img

img

img

img

img


我是用的手动初始化,变了数据后应该要销毁吧,然后再重新绘制吗,哭求

  • 写回答

3条回答 默认 最新

  • 一把编程的菜刀 2022-09-13 08:28
    关注

    不需要销毁吧,你只要把要改变的数据传进去,然后重新初始化echarts就可以了,我不知道你具体的value值怎么传的,我举一个例子,你看下,再结合你的:

    y:function ( s, dat ){ 
          var myChart = echarts.init(document.getElementById('main'));
    
    
    option = {
           title : {
                   text:s,     
                link: 'https://www.oschina.net/question/3432414_2284386',
                x:'center'
        },
        tooltip : {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)"
        },
        legend: {
            orient : 'vertical',
            x : 'left',
            data:['荣誉称号','技能大赛','论文','优质课']
        },
        toolbox: {
            show : true,
            feature : {
                mark : {show: true},
                dataView : {show: true, readOnly: false},
                magicType : {
                    show: true, 
                    type: ['pie', 'funnel'],
                    option: {
                        funnel: {
                            x: '25%',
                            width: '50%',
                            funnelAlign: 'left',
                            max: 1548
                        }
                    }
                },
                restore : {show: true},
                saveAsImage : {show: true}
            }
        },
        calculable : true,
        series : [
            {
                name:s,
                type:'pie',
                radius : '55%',
    
    
    
                center: ['50%', '60%'],
                data:[
                    {value:dat[0], name:'荣誉称号'},
                    {value:dat[1], name:'技能大赛'},
                    {value:dat[2], name:'论文'},
                    {value:dat[3], name:'优质课'}
                ]
            }
        ]
    };                    
            myChart.setOption(option);
    }
    onload:function(){
    this.y( "荣誉分类汇总 2021",[ 4, 6,15,75]);
    }
    int(){//手动触发该函数,重新加载
    this.y( "荣誉分类汇总 2022",[ 2, 2,20,76]);
    }
    
    

    这个是随手打的,不一定能运行,但是思路就是这个思路

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月24日
  • 已采纳回答 9月16日
  • 创建了问题 9月12日

悬赏问题

  • ¥15 stm32c8t6工程,使用hal库
  • ¥100 有偿求易语言word文档取doc和docx页数方法或模块
  • ¥15 找能接spark如图片的,可议价
  • ¥15 关于#单片机#的问题,请各位专家解答!
  • ¥15 博通raid 的写入速度很高也很低
  • ¥15 目标计数模型训练过程中的问题
  • ¥100 Acess连接SQL 数据库后 不能用中文筛选
  • ¥15 用友U9Cloud的webapi
  • ¥20 电脑拓展屏桌面被莫名遮挡
  • ¥20 ensp,用局域网解决