2013-04-09 110 views
4

在Highcharts中,我一直使用dataLabel格式化程序爲零值返回空字符串值。這有效地隱藏了零值的標籤。但是,在餅圖中,即使切片的值爲零,也會有指向每個餅圖切片的指南。如果不直接操作DOM元素,我似乎無法刪除這些指南。我想保留圖表中的空白餅圖切片,因爲我基於用戶操縱的過濾器標準動態更新圖表,但我想隱藏指向空白餅圖切片的指南。在Highcharts餅圖上隱藏標籤指南

有誰知道配置Highcharts的方法刪除準則指向空的餅圖片?我能夠清除使用格式化下方本身的標籤:

formatter: function() 
{ 
    var y = this.y; 
    if (y == 0) 
    return ""; 
    ... 
} 

回答

1

當格式化功能正在評估值顯示,上下文可以訪問指導線路徑元素。我能夠隱藏通過進行以下更改格式準則:

formatter: function() 
{ 
    var y = this.y; 
    //Hide the labels for empty pie slices 
    if (y == 0) 
    { 
    //If there is a pie chart label guideline, hide it 
    if (this.point.connector) 
     $(this.point.connector.element).attr("stroke", "#FFFFFF"); 
    return ""; 
    } 
    //If the label guideline was previously hidden, show it 
    if (this.point.connector) 
    $(this.point.connector.element).attr("stroke", "#000000"); 

    ... 
} 
+0

那麼爲什麼你不能使用return null? – 2013-04-10 13:46:24

+0

不幸的是,返回null似乎不會導致空的扇區切片指南消失。 – 2013-04-18 13:26:07

2

你可以嘗試使用:

if(this.y == 0) 
          return null  
         else 
          return this.y 
+0

這個工作。 + 1 – kiranvj 2015-10-06 23:26:25

0

製作連接器寬度0.1

dataLabels: { 
    connectorWidth: 0, 
    ... 
}