草庐IT

javascript - 如何在基于 'family-tree' 的 d3.js 中显示婚姻?

我是一名HTML/CSS开发人员,正在研究用于构建“家谱”的javascript解决方案,该家谱需要以一种有意义的方式展示婚姻(当然,来自家庭之外)。本质上,我正在考虑将其基于基于d3.js的树状图,例如http://bl.ocks.org/4063570,但我一直在努力寻找任何表达“婚姻”的东西。下面是我将基于的数据的图像:任何帮助/建议/链接将不胜感激!我只是不知道它是否可行,但我很想使用d3.js,因为它看起来制作精良,而且显然用途广泛。 最佳答案 有一些选项,但我相信每个选项都需要一些工作。如果有一个单一的标准来表示JSON

javascript - 如何在 d3 v4 中使用 d3.transform?

在d3.jsv4中,d3.transform方法已被删除,没有任何关于如何替换它的提示。有谁知道如何替换下面的d3.jsv3代码?d3.transform(String).translate; 最佳答案 编辑2016-10-07:有关更通用的方法,请参阅下面的附录。根据变更日志,它已经消失了。transform/decompose.js中有一个函数,但是,它会进行内部使用的计算。遗憾的是,它没有公开供外部使用。也就是说,即使不使用任何D3,这也很容易完成:functiongetTranslation(transform){//Cre

javascript - D3 区分具有拖动行为的元素的单击和拖动

我无法使用D3.jsv3成功区分元素上的click事件和drag事件。下面代码中的圆圈指定了拖动行为和click监听器。DemoherevardragGroup=d3.behavior.drag().on('dragstart',function(){console.log('StartDraggingGroup');}).on('drag',function(d,i){d.x+=d3.event.dx;d.y+=d3.event.dy;d3.select(this).attr("transform","translate("+d.x+","+d.y+")");});vardragCi

javascript - 使用 NodeSize 节点之间的 D3 树布局分离

现在我正试图分离我的矩形节点,因为它们重叠,如下图所示:我看了一下,发现D3提供了一个nodeSize和separation方法,但由于某种原因它不起作用。我找到了这个blogpost谈论这个问题,但他说Thesizepropertydoesn’texistinnodes,soitwillbewhateverpropertyyouwanttocontrolthesizeofthem.但显然有一个nodeSize方法,所以我觉得我只是错误地使用了该方法和/或博客文章已过时。我想将我的节点塑造成矩形的大小,并将它们均匀地隔开,这样它们就不会相互重叠。有谁知道如何正确使用这些方法?关于这些方

javascript - d3 添加多个具有功能的类

我的svg为:我想添加一个与标题相同的类。我试过了d3.selectAll('.user').attr('class','Michael');但是它取代了原来的类。然后我试了一下d3.selectAll('.user').classed('Michael',true);有效!但是现在我想用一个函数返回类名d3.selectAll('.user').classed(function(){returnthis.attr('title');},true);这是行不通的。我该怎么做?谢谢 最佳答案 您可以通过简单地用空格分隔元素的名称来将多

javascript - 将文本标签添加到 Force directed Graph 中的 d3 节点并在悬停时调整大小

我正在尝试将文本标签添加到d3力定向图中的节点,似乎存在问题。这是我的Fiddle:当我像这样添加节点名称时:node.append("text").attr("class","word").attr("dy",".35em").text(function(d){console.log(d.name);returnd.name;});没有变化,但名称正在记录。当我尝试使用boundingbox时,节点标checkout现,但节点堆叠在框的左上角,而节点链接正常。这fiddle是我付出努力的结果。谁能告诉我我做错了什么? 最佳答案 您

javascript - d3更新数据和更新图

我在d3中有以下简单的行,但在尝试弄清楚如何将data2传递给它并更新行以反射(reflect)更改时没有问题。D3LineChartDemoUpdatevardata=[3,7,9,1,4,6,8,2,5];vardata2=[3,7,9,1,4,6,8,2,15];varwidth=600;varheight=400;varmax=d3.max(data);x=d3.scale.linear().domain([0,data.length-1]).range([0,width]);y=d3.scale.linear().domain([0,max]).range([height,0

javascript - D3 : Removing Elements

我有一个条形图,可以创建正条和负条。我稍后会尝试删除负条,但现在,即使在附加条之后,如果我尝试立即删除负条,它们仍然会出现。varmargin={top:30,right:10,bottom:10,left:10},width=750-margin.left-margin.right,height=data.length*20//500-margin.top-margin.bottom;varx=d3.scale.linear().range([0,width*.85])//chart1.x=x//chart1.y=yvary=d3.scale.ordinal().rangeRound

javascript - D3 顺序尺度和线性尺度之间的区别

varxScale=d3.scale.ordinal().domain([0,d3.max(data)]).rangeRoundBands([0,w],.1);varyScale=d3.scale.linear().domain([0,data.length]).range([h,0]);我对何时在D3中使用序数或线性尺度感到困惑。以下是我从API文档中发现的内容,仍然有点迷失......如果有人可以提供帮助,我们将不胜感激。序数(x)给定输入域中的值x,返回输出域中的对应值。如果范围是明确指定的(如范围,但不是rangeBands、rangeRoundBands或rangePoint

javascript - 为什么 d3.js v3 在实现缩放时会破坏我的力图而 v2 没有?

我有一个使用d3.js创建的强制布局我希望同时拥有可拖动力布局的正常功能以及缩放功能。我基本上复制/粘贴了(http://jsfiddle.net/nrabinowitz/QMKm3/)中的缩放代码。这与MikeBostock在(http://bl.ocks.org/mbostock/3680957)中使用的缩放方式相同。这是我的代码:http://jsfiddle.net/kM4Hs/6/缩放效果很好,但我无法在强制布局中选择单个节点并将它们四处拖动。我发现罪魁祸首是两位作者都使用d3.v2.js而不是更新的d3.v3.js。当我将导入更改为v2时,它运行良好。但是,如果可能的话,我