如下图,红色柱子表示支出,现在想根据分类名的最后两个字符串等于“支出”,把标签改成负数,js怎么修改

image.png

如上图:

标签自定义:

function(){ 

 var point=this.points;

 var sum=0;

 for(var i=0;i<point.length;i++){

  if(point[i].seriesName!="占位"){

   sum=sum+Math.abs(point[i].value);

   }

  }

  if(this.seriesName=="值2"){

   return Math.round(sum,0);

   }

  else return "";

 }

FineReport yzm333277 发布于 2024-3-18 16:39
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
yzm333277Lv4见习互助
发布于2024-3-18 16:55

   function(){ 

 var point=this.points;

 var a=this.category;

 var b=a.slice(-2);

 var sum=0;

 for(var i=0;i<point.length;i++){

  if(point[i].seriesName!="占位"){

   sum=sum+Math.abs(point[i].value);

   }

  }

  if(this.seriesName=="值2"  &&  b=="收入"){

   return Math.round(sum,0);

   }

  else if(this.seriesName=="值2"  &&  b=="支出"){

   return Math.round(sum,0)*(-1);

   }

  else return "";

 }

最佳回答
0
华莉星宸Lv6高级互助
发布于2024-3-18 16:44

直接用条件属性设置标签,应该也可以啊

最佳回答
0
用户k6280494Lv6资深互助
发布于2024-3-18 16:45(编辑于 2024-3-18 16:45)

 return -this.value;

image.png

最佳回答
0
ID1208Lv6高级互助
发布于2024-3-18 16:52

image.png

function(){ 

var a =this.category.substring(this.category.length-2,this.category.length);

if(a=='支出'){

return this.value*(-1);

}else{

return this.value;

}

}

  • 3关注人数
  • 136浏览人数
  • 最后回答于:2024-3-18 16:55
    请选择关闭问题的原因
    确定 取消
    返回顶部