2013-08-23 61 views
2

我有一個有12個類別的極座標高座標圖。由於x軸標籤最多包含4行,因此對於頂部和底部的類別,自動標籤y定位稍微偏離。它看起來類似於this example,但在我的情況下,標籤與圖表區域重疊,而不是彼此重疊。所以我需要從頂部標籤的y座標中減去幾個像素,並在底部爲類別標籤添加幾個像素。個人定位極座標高x軸標籤

我嘗試設置在x軸上的偏移參數,但或向下所有標籤由相同的量的本上移:

xAxis: { 
    offset: 20 
} 

我還嘗試添加回調函數的x的格式化軸標籤,但我無法弄清楚如何調整每個類別標籤的位置。

+3

你嘗試設置[Y現在的位置(http://api.highcharts.com/highcharts#xAxis.labels.y) ?它應該移動標籤。如果這沒有幫助,你可以通過所有的標籤(通過'chart.series [0] .data [0] .dataLabel.attr(options);')並設置新的選項,其中的選項可以像x,y ,邊框等 –

+0

您引用的y參數似乎只對所有標籤採用一個數字。但我需要分別調整標籤。沒有嘗試'chart.series [0] .data [0] .dataLabel.attr(options);',我使用較短的標籤來代替,這也解決了問題。 – aimfeld

+0

是的,這也使圖表更清晰。 –

回答

0

您可以在軸定義下的「標籤」類別內使用「x」和「y」選項調整標籤的位置。

labels: { 
    x: 20, 
    y: 10 
} 

在上述情況下,標籤將從默認位置向右20px,向下10px。

編輯:我重新讀了標題,並很抱歉,這是所有的標籤,而不是單獨。我的錯。

1

這是highchart的溶液Heldesk

http://jsfiddle.net/crguqmsv/1/

function(chart){ 
    var len = chart.xAxis[0].ticks.length; 

    $.each(chart.xAxis[0].ticks,function(i,tick){ 

     if(i>=0 && i<=90) { 
      console.log(tick.label.attr({ 
       rotation:-45 
      })); 
     } 
    }); 
}