2013-12-19 42 views
2

我正在嘗試調整dc.js中的SVG大小。 在主頁本身的NASDAQ示例中。當我改變寬度/高度時,它削減了svg而不是調整它的大小。例如,將寬度和高度更改爲一半..它將svg剪成一半,只顯示一半。我知道我在這裏真的很傻。在dc.js中調整SVG大小

請建議。

回答

4

這是我做的。在我的HTML頁面中,我有以下行:

<div id="resize"></div> 

在我的js頁面中,我設置了一個名爲「barChart」的條形圖圖形。我有以下順序:

var width = document.getElementById("resize").offsetWidth; 

barChart = dc.barChart("#barChart"); 

barChart.width(width) 
    .height(350) 
    .margins({top: 10, right: 40, bottom: 30, left: 40}) 
    .dimension(rooms) 
    .group(kWOccupiedData) 
    .elasticY(true) 
    .gap(1) 
    .x(d3.scale.ordinal().domain([0, 5])) 
    .xUnits(dc.units.ordinal) 
    .yAxisLabel("kWh") 
    .xAxisLabel("Room") 
    .renderHorizontalGridLines(true) 
    .transitionDuration(700); 

window.onresize = function(event) { 
    var newWidth = document.getElementById("resize").offsetWidth; 

    barChart.width(newWidth/2) 
    .transitionDuration(0); 

    dc.renderAll(); 

    barChart.transitionDuration(750); 
}; 

最後,在我的CSS樣式表,我把:

.resize { 
    width: 100%; 
    height: 350px; 
} 

#barChart { 
    clear: both; 
    width: 100%; 
} 

現在,當你調整窗口的大小,圖表應該調整爲好。

+0

與使用專爲此目的而設計的viewBox相比,它似乎複雜且緩慢。 –