草庐IT

D3Blocks

全部标签

javascript - D3.js,需要d3.js中的点击事件

我正在尝试制作一个气泡图,如果我点击一个气泡,气泡的标题应该出现在控制台中。我尝试了一些方法,但没有成功。d3.json("deaths.json",function(jsondata){vardeaths=jsondata.map(function(d){returnd.deaths;});varinfections=jsondata.map(function(d){returnd.infections;});varcountry=jsondata.map(function(d){returnd.country;});vardeath_rate=jsondata.map(functi

javascript - 如何为 d3 JavaScript 库中的拖动行为设置 Origin (drag.origin)

我正在尝试使用d3框架为由HTML文本和背景矩形组成的组实现拖动行为。我能够让它工作,虽然当没有设置drag.origin时,我可以看到由于鼠标位置/元素坐标偏移而明显的跳跃。d3wiki-page上的描述究竟如何虽然该页面描述了如何设置拖动的原点,但我没有正确理解我在示例中是如何实现它的。我尝试了两种不同的方法:使用元素将元素组合在一起并定义新元素。在第一种情况下,我必须使用翻译功能,我什至不知道如何获取组的坐标。varsvg=d3.select("body").append("svg").attr("width",960).attr("height",500);vargroup=s

javascript - D3.js:停止转换被打断?

我正在使用D3.js。我的过渡效果很好,但我只有一个问题:如果第二个过渡在第一个过渡结束之前开始,这是一个演示问题的JSFiddle:http://jsfiddle.net/kqxhj/11/它在大多数情况下工作正常-CDG和LAX随着数据的变化而被添加和删除-但是如果你快速连续点击按钮两次,你会注意到新元素没有出现。这是我的代码的核心:functionupdate(data){varg=vis.selectAll("g.airport").data(data,function(d){returnd.name;});vargEnter=g.enter().append("g").att

javascript - D3 桑基图使用圆形节点代替矩形节点

我想使用Sankey图表,但使用圆形而不是矩形。我正在按照MikeBostock中的示例进行操作.我通过设置半径更改了那里的代码以使用圆,但是如何将连接节点的线放置在圆周围。任何线索。谢谢。 最佳答案 首先,我想告诉你,我喜欢你的想法。我将引导您完成几个简单的步骤,以获得一个像样的带圆圈的桑基图。最终结果可能不适合您的应用程序,但我想它可能对您作为起点有用。一旦您了解了d3Sankey插件的内部和外部功能,您应该能够准确地构建您设计和希望的内容。起点linktojsfiddle这只是一个基本的Sankey示例。我在jsfiddle中

javascript - 不能对 D3 v4 中的对象使用 attr

我一直在尝试使用新的D3v4将一个不错的D3图表示例(https://jsfiddle.net/thudfactor/HdwTH/)转换为Angular2组件。不过,我确实收到了“无法读取null的属性文本”异常,代码如下:vartextLabels=labelGroups.append("text").attr({x:function(d,i){varcentroid=pied_arc.centroid(d);varmidAngle=Math.atan2(centroid[1],centroid[0]);varx=Math.cos(midAngle)*cDim.labelRadius

javascript - 在 d3.js 更新上比较/区分新数据与以前的数据

我想表示当前数据集与之前数据集之间的差异,由客户计算。假设我已经有了三个圆圈,绑定(bind)到数据[1,2,3]。现在我想更新数据并根据新旧值之间的差异做一些事情?varnew_data=[2,2,2];//ThisisthenewdataI'dliketocomparewiththeoldsvg.selectAll("circle").data(new_data).transition().duration(2000).attr("fill","red")//e.g.I'dliketocolourthecirclesredifthechange//isnegative,blueif

javascript - d3 中带有弯头连接器的树/树状图

我是d3.js(和一般的SVG)的新手,我想做一些简单的事情:一个带有Angular连接器的树/树状图。我已经从这里拆解了d3示例:http://mbostock.github.com/d3/ex/cluster.html我想让它更像这里的protovis示例:http://mbostock.github.com/protovis/ex/indent.htmlhttp://mbostock.github.com/protovis/ex/dendrogram.html我从这里开始:http://jsbin.com/ugacud/2/edit#javascript,html我认为以下片段是

javascript - d3.js 奇怪的旋转行为

我正处于JS项目的早期阶段。到目前为止一切都很好,除了一个形状的定位。所讨论的形状是蓝绿色钻石(正方形旋转45度)。我可以在屏幕上显示正方形没问题,但是当我添加时:.attr("transform","rotate(45)")正方形正确旋转,但向屏幕左侧移动,如下所示:我不确定是什么导致了这种情况发生。如果有帮助,这里是产生此结果的一些代码:varsvg=d3.select("body").append("svg").attr("width",w).attr("height",h);svg.append("rect").attr("transform","rotate(45)").at

javascript - d3js 拖动圆应该重新排列主边界圆中的其他圆

我有基于thistutorial的气泡图.我已使用以下代码启用气泡拖动。这使得单个圆圈可拖动,但在拖动一个圆圈时,其他圆圈不会自动调整。我正在使用包圈算法,请告诉我这个算法是否可行。这是我的拖动代码://draggableif(this.dragging){vardrag=d3.behavior.drag().on("drag",function(d,i){varselection=d3.selectAll('.selected');if(selection[0].indexOf(this)==-1){selection.classed("selected",false);select

javascript - 重复应用 d3 转换导致内存泄漏

我有一个SVGmap和一个间隔,用于轮询数据更改并相应地更新map上的颜色。除非我使用过渡淡入新颜色,否则一切正常。然后选项卡会慢慢消耗越来越多的内存,直到崩溃。我做了一个显示相同行为的简化示例:varsize=500;varnum=25;varboxSize=size/num;functioncolor(d){return'#'+Math.random().toString(16).slice(2,8);}varsvg=d3.select('body').append("svg").attr("width",size).attr("height",size);varsquares=s