亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果列只有一項,如何刪除標簽

如果列只有一項,如何刪除標簽

楊__羊羊 2024-01-03 14:55:32
我有堆棧高圖,如果列只有一個堆棧值,我想隱藏標簽文本。在這種情況下,我想隱藏列中的面板文本。我嘗試在dataLabels格式化程序中處理,但沒有成功:dataLabels: {        formatter: function() {          console.log(this);          debugger;          let countValue = this.series.userOptions.data.filter(x => x != 0).length;          if(countValue <= 1){             return '';          }          return this.series.name;        },這是我的源代碼JSFiddle https://jsfiddle.net/viethien/ak2h1sfq/11/謝謝
查看完整描述

3 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

可以y與進行比較total,如果相等則該列只有一棧。就像是:


formatter: function() {

  if(this.y == this.total){

    return '';

  }

  return this.series.name;

}

JS小提琴

編輯:如果您將 0 作為數據中的值傳遞,則條件將是if(!this.y || this.y == this.total)...

JS小提琴


查看完整回答
反對 回復 2024-01-03
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

我認為最簡單的解決方案是將this.y與 進行比較this.point.stackTotal。如果值相同 - 隱藏文本。

演示: https: //jsfiddle.net/BlackLabel/0ows79bm/

   formatter: function() {

      if(this.y === this.point.stackTotal) {

        return ''

      }

      return this.series.name;

    },


查看完整回答
反對 回復 2024-01-03
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

您的dataLabels.formatter()實施在某種程度上是錯誤的。

這是發生的事情:

thisy value為條形圖上的每個堆棧返回一個對象。您的目標應該是了解每個條形圖的總數是如何求和的。因此,最好的選擇是嘗試檢查每個堆棧傳遞的每個數據的總和是否為y。這是一個例子:

https://img1.sycdn.imooc.com/659505390001f46c11360741.jpg

從上圖中,我剛剛使用了你的代碼和console.log(this)里面的formatter(). 該模式非常清晰,您必須將 的每個值y與條形圖堆棧的整個總數進行比較。

這樣做this.y == this.total應該告訴您當前實例中的數據是否實際上總計為條形圖堆棧的整個總數。正如您在圖片中看到的那樣,y=2該條形的堆??偤?code>2與我們的比較相匹配this.y == this.total;

所以你應該直接使用。 formatter: function(){ return this.y == this.total || this.y === 0 ? "" : this.series.name;}


查看完整回答
反對 回復 2024-01-03
  • 3 回答
  • 0 關注
  • 173 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號