草庐IT

javascript - d3 的过渡和动画是否使用 requestAnimationFrame?

我想弄清楚d3的默认动画是否已经使用requestAnimationFrame作为回调,或者我是否需要自己做。例如,我已经定义了一个自定义补间,它重复调用重绘函数以动画化图形上从一个域到另一个域的转换(这是在coffeescript中):rd=@redraw#afunctionthattakesanargumenttoredrawthegraph@svg.transition().duration(1000).tween"zoom",->interp=d3.interpolate(current_dom,target_dom)(t)->rdinterp(t)在我所有其他重绘调用中,我使

javascript - D3.js力布局中LinkDistance和LinkStrength的关系

在D3.js的力导向布局中,LinkDistance和LinkStrength是如何相关的?我假设他们是,如果我错了请纠正我。我知道linkDistance定义了任何一对节点之间的长度,并且本质上用作力布局中的约束。但是linkStrength起什么作用呢?D3.js的API文档将其定义为“链接到[0,1]范围内指定值的强度(刚性)”,这里的“刚性”到底是什么意思? 最佳答案 您可以将链接距离视为预期距离,并将强度视为您希望在每次迭代中达到此目标距离的速度。如果您查看sourcecodeoftheforcedirectedlayou

javascript - D3 "Sunburst"中心路径大小

所以我有一个非常标准的D3“Sunburst”图。然而,中心路径(即根)太大了。它占据了我图表的很大一部分,由于围绕它的更重要的弧线争夺空间而被浪费了。我正要在外环上添加标签,但我需要更多空间。见下文。我想让中心圆(浅灰色位)更小,外圈更厚。谁能帮帮我?这是我的代码:varwidth=850,height=700,padding=6,duration=750,labelLimit=120,radius=Math.min(width,height)/2-10;varx=d3.scale.linear().range([0,2*Math.PI]);vary=d3.scale.sqrt().

javascript - 用于显示我们在力布局中悬停位置的小框 (D3.js)

我想看看力图放大的部分简而言之。我想在小框中看到整个图形的小图片,它将显示我用D3.js在图形上悬停的位置请引用这张map图片,我想要同样的强制布局。 最佳答案 我分三步完成:1)为SVG的鼠标悬停事件附加一个监听器varnewTx,newTy=0;svg.on("mouseover",function(){varcoordinates=[0,0];coordinates=d3.mouse(this);newTx=(100-coordinates[0]);newTy=(100-coordinates[1]);});2)使用JSclo

javascript - 在 d3 中将饼图的一部分隔开?

如何在nvd3/d3中分隔图表饼图?我想按照http://nvd3.com/livecode/#codemirrorNav中的示例饼图使用饼图任何帮助都非常有用。 最佳答案 有时每个切片上的粗白笔划都可以(事实上,他们在您链接到的页面上就是这样做的)。问题是细小的切片有时会被笔划覆盖。.slice{stroke:white;stroke-width:3;} 关于javascript-在d3中将饼图的一部分隔开?,我们在StackOverflow上找到一个类似的问题:

javascript - 我如何告诉 D3 使树状图垂直(自上而下)而不是从左到右?

我正在查看thisexample它使用簇布局将X和Y坐标分配给树状图上的节点。我怎么知道cluster垂直布局,自上而下,而不是默认的从左到右? 最佳答案 对于example你链接,只是翻转使用X和Y坐标。这可以通过改变来完成vardiagonal=d3.svg.diagonal().projection(function(d){return[d.y,d.x];});和varnode=vis.selectAll("g.node").data(nodes).enter().append("g").attr("class","node"

javascript - D3js - 创建并轻松更新多折线图

我已经使用D3创建了一个小的测试折线图,但是由于我对这个库还很陌生,所以我不确定向图表添加多条线的最佳方法是什么,目前我只有一条线显示在这个fiddle.我想在图表上显示2条线,但我不确定如何在不复制粘贴代码的情况下实现这一点,我确信这会非常低效,因为我想定期更新/动画图表关于用户选择。取而代之的是vardata=[12345,22345,32345,42345,52345,62345,72345,82345,92345,102345,112345,122345,132345,142345];我想展示这样的东西,vardata=[[12345,42345,3234,22345,7234

javascript - 如何在 d3 sankey 插件中强制一个分支的 y 位置?

我想强制桑基图的一个分支在最上面。而不是像这样的图表:想要生成图表,其中节点1、2、7、15、10和14始终位于顶部:摆弄当前代码的链接:http://jsfiddle.net/w5jfp9t0/1/varmargin={top:1,right:1,bottom:6,left:1};varwidth=1052-margin.left-margin.right;varheight=500-margin.top-margin.bottom;varformatNumber=d3.format(",.0f"),format=function(d){returnformatNumber(d);}

javascript - 使用 d3 创建泳道图

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我需要生成类似于以下的泳道图,但在Y轴上添加了显示日期。我需要显示的所有节点都是具有依赖关系的事件,没有流控制元素。是否可以使用类似d3的东西,或者是否有更好的javascript库可用于此类图表?我还没有看到任何类似的例子,所以如果可以使用d3,我不确定我会从哪里开始。任何提示将不胜感激。

javascript - 在 d3.js 中绘制滚动/移动平均线

寻找一种在d3中绘制滚动/移动平均线而无需提前操作数据的方法。所以我想通过平均每个数据点和它后面的两个来平滑这条线。我的代码是这样的vardata=[3,66,2,76,5,20,1,3,8,90,2,5,70];varw=20,h=80;varx=d3.scale.linear().domain([0,1]).range([0,w]);vary=d3.scale.linear().domain([0,100]).rangeRound([h,0]);varchart=d3.select("body").append("svg").attr("class","chart").attr("