草庐IT

javascript - D3 - 更新时元素的正确数量,但值错误

我正在用包含数组值的子div填充一个div。第一次通过时,数组如下所示:arr_subpop_unique=["CPL","NAP","NPL","SAP","SPL","TPL","UMW","WMT","XER"]我的选择进入/更新/退出看起来像这样:varsizemapHeader=d3.select("#d3-sizemap-hr").selectAll("div").data(arr_subpop_unique)sizemapHeader.enter().append("div").attr("class","sizemap-hr-titleellipsisscroll_on

javascript - D3 v4 - 访问选择数组并找到相应的元素

我正在尝试放宽约束,以便为我的饼图工作。它基于此示例https://jsfiddle.net/thudfactor/HdwTH/但是使用的放松方法似乎不再适用于v4。具体问题是他们如何直接访问选择组数组:textLabels=labelGroups.append("text").attr(...);if(again){labelElements=textLabels[0];D3v4.x访问选择组数组的方式是否发生了变化?你现在会怎么做? 最佳答案 在D34.0中,选择不再是数组。根据API:Selectionsnolongersub

javascript - 使用 D3.js 可以绘制线条流畅的面积图吗?

我正在使用D3.js创建面积图,并使用平滑线制作它。是否可以?在我的代码中,我只是创建了svg并放置了线条和区域。我使用虚拟数据。下面是我的代码:http://jsfiddle.net/sota0805/mv48H///DatavarlineData=[{"x":0,"y":250},{"x":40,"y":170},{"x":80,"y":140},{"x":120,"y":220},{"x":160,"y":220},{"x":200,"y":190},{"x":240,"y":170},{"x":280,"y":140},{"x":320,"y":200},{"x":360,"y

javascript - d3点击拖动事件嵌套

我在g元素中嵌套了很多元素,如下所示:...但是,我希望有一些矩形能够拥有它们自己的拖动事件。问题是,当您将内容放入g标签时,它的大小会扩展以包含这些标签。因此,即使我可以分配事件,也无法触发它们,因为g标记的事件在某种程度上更重要,即使rect位于它之上。有没有你们知道的某种解决方法?编辑:这里是asimplecompletecase完整地。g内的一个矩形和一个圆。g是可拖动的,圆圈也应该是可拖动的,但不是。vargDragBehav=d3.behavior.drag().on('drag',gDragDrag)functiongDragDrag(d,i){d.x+=d3.event

javascript - 为什么 $state.go 在目标状态或其父级通过 promise 解析时不起作用

我尝试使用resolve在父状态上加载一些数据,并在应用程序运行时将用户重定向到默认状态:app.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){$stateProvider.state('home',{url:'/',template:'StartAppHomeOtherstateLoading...',resolve:{user:['$timeout','$q',function($timeout,$q){vardeferred=$q.defer();

javascript - 在 D3.js 中注销缩放监听器并恢复滚动能力

我目前正在使用D3.js。这是为我的svg标签注册缩放监听器的代码varzoomListener=d3.behavior.zoom().scaleExtent([0.1,3]).on("zoom",zoom);functionzoom(){vis.attr("transform","translate("+d3.event.translate+")scale("+d3.event.scale+")");}svg.call(zoomListener)现在,当我在svg元素上滚动鼠标时,它会被缩放。但是当我像这样解除绑定(bind)缩放事件时zoomListener.on("zoom",n

javascript - D3.js 饼图..选中时饼图切片可以移动吗?

只是想知道是否可以用d3做这样的事情?http://jsfiddle.net/8T7Ew/当您点击某个饼图切片时,该切片会随点击移动到什么位置?到目前为止已经创建了馅饼,只是想知道我是否可以添加此功能body{font:10pxsans-serif;}.arcpath{stroke:#fff;}varwidth=960,height=500,radius=Math.min(width,height)/2;varcolor=d3.scale.ordinal().range(["#98abc5","#8a89a6","#7b6888","#6b486b","#a05d56","#d0743

javascript - ui-router - $state.go() 不工作

这是我项目的app.js:(function(){'usestrict';angular.module('app',['ui.router','ngCookies','angular-inview','ngMaterial']).config(config).run(run);config.$inject=['$stateProvider','$urlRouterProvider','$mdThemingProvider'];functionconfig($stateProvider,$urlRouterProvider,$mdThemingProvider){$mdThemingPr

javascript - .attr 与 D3.js 中的 .classed

在d3中,什么时候用比较合适d3.select("foo").attr('class','bar');相对于d3.select("foo").classed('bar',true);?是否推荐或预期弃用?什么是行业标准? 最佳答案 没有合适的方法,或者推荐的,或者标准的。两者都是有效的方法,使用哪一种取决于您的具体目的。classed("foo",true)和attr("class","foo")的主要区别是前者只会修改classList如果它已经存在...Ifavalueisspecified,assignsorunassigns

javascript - d3.max 没有得到正确的值

这个问题在这里已经有了答案:D3.jsscalereturningwrongvaluesfromdataset(2个答案)关闭7年前。我正在使用d3.js来呈现一些数据,数据集是一个名为bar-data.csv的csv文件,如下所示:date,value,durationwww.sina.com,53,100www.baidu.com,165,2000www.qq.com,269,690www.youku.com,421,224www.facebook.com,405,345www.apple.com,376,777www.cnn.com,359,298www.cctv.com,433