[ABI 5.1] ABI-柱状图默认显示问题

14144
14

jienigui 初学数据Lv2

发表于2019-8-28 10:41

悬赏1

已解决

楼主
现在柱状图有四个系列,预览后,想让柱状图默认显示2个系列,其他两个隐藏,当点击某个图例(灰色,被隐藏的)时,在显示对应的系列,如下,图一为想要的预览后默认显示结果,可以实现吗,谢谢大神!!!

最近看过此主题的会员

chentao

zly_2960

esen_4YNPQEX87K

esen_4ZBQ38OLTU

槐序

13430212034

esen_4XZXE83IO7

曦文

xyr

sunmeiling

14个回答

只看楼主

jienigui 初学数据Lv2

发表于2019-8-28 11:25

只看该作者

取消 关注该作者的回复

12#

孤傲的旋律 发表于 2019-8-28 11:22
什么不知道该怎么写?

就是隐藏的系列,不知道该怎么
这是我自己写的组建中js的代码:
var mychart =null;
/*
* 初始化方法
*
* @params cwidget 组件对象
* @params vardata 取数定义中定义的变量,json格式:{'var1':'xxx'}
* @params storagedata 组件自己需要存储的值,字符串格式
* @params events 事件,用户在右边属性上设置的事件, json格式:{'evt1': function(){...}, 'evt2':function(){....}}
* @params resources 资源及权限校验,json格式:{'resids': ['EBI$12$xxx$1$xxx.rpttpl','EBI$12$xxx$1$xxx.coolrpt'], 'pms': [true, false]}
*/
function init(cwidget, vardata, events, storagedata, resources){
    var basedom = cwidget.basedom;
    var var1 = vardata.var1;
   //取数
            var data1 = vardata.data1;
            var data2 = vardata.data2;
            var data3 = vardata.data3;
            var data4 = vardata.data4;
            var dataX = vardata.dataX;
    if(!window["echarts4"]){
        EUI.sys.lib.include("vfs/root/products/ebi/sys/coolrpt/coolresource/js/echarts.js");
    }
    mychart = echarts4.init(basedom);
   
    var opt = getOption(data1,data2,data3,data4,dataX);
    mychart.setOption(opt);
    cwidget.mychart = mychart;
    basedom.onclick = events.evt1;
    if(cwidget.isresultview){
        //只在结果界面的时候执行,例如只想在结果界面绑定click事件
    }
}

function getOption(data1,data2,data3,data4,dataX) {
  option = {
    tooltip : {
        trigger: 'axis',
       /* formatter:function(params){ // 改鼠标悬浮提示值格式
            var relVal = '<h3>'+params[0].name+'</h3>'+"<br/>";
            relVal += params[3].seriesName+ ' : ' +params[3].value+"<br/>";
            relVal += params[2].seriesName+ ' : ' +params[2].value+"<br/>";
            relVal += params[1].seriesName+ ' : ' +params[1].value+"<br/>";
            relVal += params[0].seriesName+ ' : ' +params[0].value+"<br/>";
            return relVal;
        },*/
        axisPointer : {            // 坐标轴指示器,坐标轴触发有效
            type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
        },
      /*  axisPointer: {
            //type: 'cross',
            type: 'shadow',
            label: {
                backgroundColor: '#3399CC'
            }
        }*/
    },
    legend: {
        data:['刑事','民事','行政','周'],
         textStyle:{//图例文字的样式
            color:'#33CCFF',
            fontSize:16
        },
       // icon: 'line'
        icon: 'bar'
    },
    grid: {
        left: '6%',
        right: '4%',
        bottom: '3%',
        containLabel: true
    },
    xAxis : [
        {
            type : 'category',
         //   boundaryGap : false,  数据从原点开始
            data : JSON.parse(dataX),
            axisLine: {
                        lineStyle:{
                            color:'#33CCFF',
                      }
             }
        }
    ],
   yAxis : [
        {
            type : 'value',
          //  name : '占比(%)',
           // min: 0,
            //max: 100,
           axisLine: {
                        lineStyle:{
                          color:'#33CCFF',
                     }
             },
            axisLabel: {
                formatter: '{value}'
            },
             splitLine: {
            show: true,
            lineStyle:{
                 color: '#FFFFFF',
                 width: 0.3
            }
          }
        }
    ],
     /*   yAxis : [
        {
            type : 'value'
        },*/
    series : [
        {
            name:'刑事',
            type:'bar',
         //   stack: '总量1',堆积
    //        smooth:true,
            areaStyle: {},
            data : JSON.parse(data1)
        },
        {
            name:'民事',
            type:'bar',
        //    stack: '总量2',堆积
          //  smooth:true,
            areaStyle: {normal: {}},
            data : JSON.parse(data2)
        },
        {
            name:'行政',
            type:'bar',
         //   stack: '总量3',堆积
           // barWidth:5,
          //  smooth:true,
            areaStyle: {normal: {}},
            data : JSON.parse(data3)
        }
        ,
        {
            name:'周',
            type:'bar',
       //  stack: '总量3',堆积
           // barWidth:5,
          //  smooth:true,
            areaStyle: {normal: {}},
            data : JSON.parse(data4)
        }
    ]
};
    return option;
}
/**
* 定义了自定义属性时,必须实现该方法,方法名为setProperty
* 当在属性面板上修改属性后,会调用该方法
* @param key  属性名
* @param value  属性值
* @param cwidget  组件对象
* @returns
*/
function setProperty(key, value, cwidget) {
    if (key === 'xxx') {
            //修改属性xxx时,触发的事

    } else if (key === 'yyy') {
            //修改属性yyy时,触发的事

    }
}

/**
* 刷新操作,数据改变时,调用该方法,重新渲染数据
* @param cwidget 组件对象
* @param vardata 取数定义中定义的变量,json格式:{'var1':'xxx'}
* @param storagedata  组件自己需要存储的值,字符串格式
* @returns
*/
function refreshDatas(cwidget, vardata, storagedata){
   // var basedom = cwidget.basedom;
    var opt=mychart.getOption();
        var data1 = vardata.data1;
    var data2 = vardata.data2;
    var data3 = vardata.data3;
    var data4 = vardata.data4;
    var dataX = vardata.dataX;
   
    opt.xAxis[0].data=JSON.parse(dataX);
    opt.series[0].data=JSON.parse(data1);
    opt.series[1].data=JSON.parse(data2);
    opt.series[2].data=JSON.parse(data3);
    opt.series[3].data=JSON.parse(data4);
    mychart.setOption(opt);

}

/**
* 组件大小改变时执行
* @param cwidget 组件对象
* @returns
*/
function resize(cwidget){
        cwidget.mychart&&cwidget.mychart.resize();
}

/**
* 获取组件的参数值
* @param cwidget 组件对象
* @returns
*/
function getValue(cwidget){
   
}
/**
* 获取组件的参数名称
* @param cwidget 组件对象
* @returns
*/
function getParamName(cwidget){
   
}
/*
* 销毁操作,销毁自己相关的东西
*/
function dispose(cwidget){
     
}

缱绻 数据领袖Lv6

发表于2019-8-28 11:50

只看该作者

取消 关注该作者的回复

13#

jienigui 发表于 2019-8-28 11:25
就是隐藏的系列,不知道该怎么
这是我自己写的组建中js的代码:
var mychart =null;

系统自带的就可以实现了呀 为什么要调用echarts呢?

jienigui 初学数据Lv2

发表于2019-8-28 12:35

只看该作者

取消 关注该作者的回复

14#

缱绻 发表于 2019-8-28 11:50
系统自带的就可以实现了呀 为什么要调用echarts呢?

需求要引用echarts写,有办法吗老铁?

缱绻 数据领袖Lv6

发表于2019-8-28 13:42

只看该作者

取消 关注该作者的回复

15#

jienigui 发表于 2019-8-28 12:35
需求要引用echarts写,有办法吗老铁?86.gif

这有文档http://bbs.esensoft.com/thread-132498-1-1.html

上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号