2017-09-14 27 views
0

我正在使用d3 v4。我想創建一個餅圖(帶有標籤),我希望它佔據儘可能多的空間(寬度)(高度可以根據其需要量而變化)。所以我裝箱我的SVG元素如何讓我的d3餅圖佔據儘可能多的寬度?

<svg width="700" height="400"> 
    <g id="labels" /> 
</svg> 

和JS畫我的餅圖

var svg = d3.select("svg"), 
    width = 1000, 
    height = +200, 
    radius = Math.min(width, height)/2, 
    g = svg.append("g").attr("transform", "translate(" + width/2 + "," + height/2 + ")"); 

但好像不管我把在「寬度」的JS什麼價值,它只是似乎將我的圖表上到右側,有未使用的空間,它的左一個巨大的差距:

https://jsfiddle.net/vp9zsL2a/1/

有沒有一種辦法可以讓我的餅圖(及其標籤)佔用的可用的很多水平空間?

回答

0

問題是,你至少採用半徑爲radius = Math.min(width, height)/2的寬度和高度,所以無論你增加多少寬度,餅圖半徑永遠不會超過200px。試着增加身高,它會變得更大。