2014-02-21 44 views
0

我希望y軸數據標籤對於空值返回'N/A'。目前沒有顯示。我嘗試使用y格式化函數來說y值是否等於null,返回N/A但由於某種原因沒有運氣?我對Highcharts有點新,所以請原諒這個問題的基本性質。Highcharts:在數據標籤中返回N/A值而不是0%

formatter: function() { 
        if (this.y !== null) 
         return 'test'; 

        var chart = this.series.chart; 

        chart.renderer.text('n/a', this.point.plotX - 10, chart.plotHeight - 10).add(this.series.group) 
       }, 

這裏的鏈接到的jsfiddle:http://jsfiddle.net/v5vJR/

回答

1

從您的dataLabels選項format。那麼你需要正確計算放置該標籤的位置。由於沒有任何價值,因此plotY將是未定義的,對吧?

  formatter: function() { 
       var str; 
       if (this.y !== null) { 
        return this.y + '%'; 
       } else { 
        var chart = this.series.chart, 
         categoryWidth = chart.plotHeight/chart.xAxis[0].categories.length, 
         offset = (this.point.x + 1) * categoryWidth - this.point.pointWidth + 3; // 

        chart.renderer.text('n/a', chart.plotLeft, chart.plotTop + offset).add(); 
       } 

       return false; 
      }, 

演示:http://jsfiddle.net/v5vJR/3/

+0

感謝帕維爾。我唯一的問題是如何讓標籤採用其他dataLabels的格式。我試圖啓用HTML,然後使用span類,但似乎並沒有工作。 chart.renderer.text(「」+'N/A'+「」,chart.plotLeft,chart.plotTop + offset).add(); – mtown

+0

嘗試將一個參數添加到'text(...,true).add()' - 它應該強制將元素呈現爲HTML實體。 –