0
我想第一次放大d3.js行爲,我很努力地得到它的工作。我的要求是在svg元素中放大縮小行爲,其中瀏覽器的縮放行爲應該被禁用,並且只有svg內的圓圈在放大/縮小時應該增大/減小其半徑。d3js放大圈組
總之,當用戶滾動鼠標時,svg的寬度,高度不應該改變。只是圓圈應該改變它的半徑。
這是我現在擁有的,任何人都可以幫我填寫嗎?
<g>
<circle id='top' cx="180" cy="120" r="30" style="stroke: white; stroke-width: 2px; fill:white"/>
</g>
<g>
<circle id='top' cx="200" cy="220" r="30" style="stroke: white; stroke-width: 2px; fill:white"/>
</g>
<g>
<circle id='top' cx="320" cy="150" r="50" style="stroke: white; stroke-width: 2px; fill:white"/>
</g>
var zoom = d3.behavior.zoom()
.scaleExtent([1, 8])
.on("zoom", function() {
console.log('zooming');
var graph = d3.select('svg');
graph
.selectAll('g')
.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");
});
var svg = d3.select('svg').append('g').call(zoom);
:D像魔術一樣工作。謝謝 – Fawzan
它工作正常,但是當我向圈子添加一個拖動事件時,它會搞砸了,我會添加一個小提琴。 – Fawzan
在下面的小提琴縮放工作正常,沒有拖動,當我添加拖動它將拖動應用到所有組。 http://jsfiddle.net/fawzan/6225w3j7/ – Fawzan