2014-06-20 37 views
-1

有什麼辦法可以獲得kendo ui dataviz條形圖列的大小? 我知道不可能設置它,我們需要努力處理那種無縫隙/間距屬性,但我想擴展該圖表並需要知道列的寬度。如何獲得kendo ui條形圖欄寬?

我試圖找出它通過jQuery/css,但無法找到一個類或ID在選擇器中使用,以獲得SVG框大小。

我還在尋找,找出圖表的某些屬性/方法一樣

$chart.data('kendoChart')._options.plotArea.seriesDefault.columns.width 

但仍然沒有運氣。

回答

0

我找到了一種方法:

 var chart = chart.data('kendoChart'); 

     var plotArea = chart.element.find('g:first'); 

     // The mileage can differ here but the idea is to find the group of columns inside the plotArea 
     var columns = plotArea.find.children('g'); 

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

      var col = columns.eq(i); 
      // get the "box" from that column 
      var box = col.children(":first").get(0).getBBox(); 
      var width = box.width; 

     } 

備註:getBBox()返回的高度,寬度,x和y,其中寬度和X似乎確定,但我得到正確的高度和y的值的問題。我解決了它,使列標籤y(label.position ='outsideEnd')。

對於堆疊酒吧,它開始從最後一個系列開始渲染,因爲它開始從上向下繪製,但第一個系列位於堆棧的底部。列的順序可能是這樣的:

serie C |1| |4| |7| |10| 
serie B |2| |5| |8| |11| 
serie A |3| |6| |9| |12| 

等等。