我正在努力扩大这个讲话泡泡的存在。我不确定该怎么做,因为默认的d3比例正在改变它开始绘制的区域。
var svgHeight = 1000
var svgWidth = 1000
var floatycircleRadius = 30
var textColor = "#FFFFFF"
var svg = d3.select("body").append("svg")
.attr("width", svgHeight)
.attr("height", svgWidth)
var floatycontainer = svg.append("g");
var floatygroup = floatycontainer.append("g")
var floatypath = floatygroup.append("path")
.attr("d", "m125.512,0h-66C26.645,0,0,26.482,0,59.35c0,28.574,20.142,52.312,47,58.029V145l26.283-26.283, l52.229,0.064c32.868,0,59.512-26.563,59.512-59.431S158.38,0,125.512,0z")
.style("fill", "#90C4E4")
floatygroup.attr("transform", "translate(500, 500)")
floatycontainer.attr("transform", "scale(1)");
floatycontainer.transition().duration(2000).attr("transform", "0")
答案 0 :(得分:3)
在transition.attrTween(name, tween)
或<g>
元素上使用<path>
。
.attrTween("transform", function(d, i, a) {
return d3.interpolateString(a, 'scale(1)');
});
答案 1 :(得分:1)
所以问题不在于我无法将项目扩大。当项目进行缩放时,由于路径上的混合相对和绝对点,“M”属性也在移动并且svg元素在页面上飞行。
手动将线更改为所有亲戚后,我可以完成我的项目,我找到了一个javascript脚本来更改所有相对路径。然后我可以手动将“M”属性更改为0,这样比例就可以正常工作(Convert SVG Path to Relative Commands)。
我修改了脚本以更好地满足我的需求,并使用gist.github.com和bl.ocks.org构建这个简单的页面,因此它是一个获取所有相对路径的简单站点。它符合我的长期用例,我想我会为那些感兴趣的人分享它。谢谢你的帮助。
http://bl.ocks.org/TheMcMurder/6393419(要转换的实时页面)