我正在使用D3.js构建一个在TreeMap中显示数据的应用程序。理想情况下,我想要的是为TreeMap提供一个工具提示,以在TreeMap的每个节点上显示更多信息。树形图从.JSON文件中获取数据。我目前正在使用jquery插件PoshyTip,我可以在其中通过title=属性传递此信息。我知道我需要以某种方式将title属性添加到TreeMap中的svg:g元素,但我不知道在哪里设置每个节点的titleattr。这是我的脚本的开头,我在其中进行所有声明等...vartree=d3.layout.tree().size([h,w-160]);vardiagonal=d3.svg.di
我正在尝试在我的应用程序中使用d3.locale()来显示俄语月份名称。http://jsfiddle.net/j2feJ/2/另外,我需要shortMonths变量是英文的,因为它们在我的数据库中是英文的。varru_RU={"decimal":",","thousands":"\xa0","grouping":[3],"currency":["","руб."],"dateTime":"%A,%e%B%Yг.%X","date":"%d.%m.%Y","time":"%H:%M:%S","periods":["AM","PM"],"days":["воскресенье","пон
我正在使用D3.js渲染大约500个节点和它们之间的链接。布局稳定下来(迭代收敛)通常需要10秒。如何加快整个过程,例如,节点在动画期间移动速度快2倍。则时间将是50%(用于迭代的CPU时间应该远少于10秒,但如何减少动画时间)。我试过:在一定次数的for循环中手动管理tick(),比如100次,速度更快,但动画会对用户隐藏,这是一个很大的损失。增加链接强度会有所帮助,节点在动画期间移动得更快。但是布局非常敏感,任何小的拖动都可能导致许多节点移动。有什么建议吗?谢谢。 最佳答案 查看thisthread其中有很多与此主题相关的有用信
我想做什么...我正在使用D3制作复合动画。我有以下最终状态:本质上我想要连接点的动画-添加第一个圆。然后将线画到第二个圆圈。绘制线后,添加第二个圆圈。为了增加一些视觉吸引力,我执行了其他转换,例如在绘制线条时更改第一个和第二个圆的circle半径。我试过的...我可以单独添加圆圈和绘制线条,包括动画。但是,我不确定如何继续将过渡链接在一起以形成复合动画。我已经readabouttransitions/animations,建议使用each("end")。虽然这可以用来绘制初始对象,但直到其他转换之后才会触发结束。问题使用each("end",...)是否是链接转换的正确方法?如何开始
我正在尝试在d3中创建两个变量,一个是当前的小时和分钟(格式为00:00),另一个是当前时间,小时值减去二。因此,例如:当前时间是15:38,另一个变量将计算为13:38。这是我当前获取当前时间的代码(在coffeescript中):formatTime=d3.time.format("%H:%M")currentTime=(d)->formatTime(newDate())提前致谢! 最佳答案 结帐d3.time.interval:>d=newDate()FriSep13201300:00:00GMT-0400(EasternDa
我正在研究forcedlayout并且无法弄清楚为什么尝试通过cx移动节点,cy不起作用。//Thisworksnode.attr("transform",function(d){return"translate("+d.x+","+d.//Thisdoesn'tnode.attr("cx",function(d){returnd.x;}).attr("cy",function(d){returnd.y;});节点实际上在svgg元素中,这可能是原因吗? 最佳答案 cx和cy属性仅适用于circle元素。对于g元素,使用transf
我有一个使用d3构建的圆环图和一个jQueryslider,允许用户在不同的数据点之间进行选择。该图表动画化了数据值之间的转换,一切都很好。问题:片段总是按逆时针大小顺序呈现(从大到小)。这意味着段根据它们的大小在图表中切换它们的位置。这种行为让用户感到困惑,但不幸的是我不知道如何改变它。我希望这些片段保持在它们的初始位置。工作js-fiddle:http://jsfiddle.net/kerplunk/Q3dhh/我相信问题一定出在执行实际补间的函数上://Interpolatethearcsindataspace.functionpieTween(d,i){vars0;vare0;
我知道这个问题以前有人问过,但我无法追根究底。这是我的图表...http://www.gogeye.com/financialnews/piechart/index3.html我想要做的就是让硬币在图形后面渲染。我知道D3按附加顺序呈现。我已尝试重新添加代币,但似乎无法正常工作。我曾尝试在DOM中附加内容时重新排序,但不断出现错误,这可能是因为变量在定义之前被调用等等。有人可以举例说明如何使用我的代码解决此问题吗?我不想让你为我做这项工作,但我已经拖延了很长时间,我似乎无法将其他人的例子应用到我的身上。谢谢 最佳答案 我建议使用代表
我是AngularJS和D3的新手。我正在使用这些技术构建仪表板。我已将d3.min.js文件包含在索引文件中并尝试用它绘制一个圆圈。代码如下:entercodeherevarsvg=d3.select("body").append("svg").attr("width",200).attr("height",200).append("g").attr("transform","translate(100,100)");vararc=d3.svg.arc().innerRadius(50).outerRadius(70).startAngle(0).endAngle(2*Math.PI
我必须创建由block层次结构组成的图表(一个大块包含包含其他block的较小块)。数据是这些block的层次结构{element:{name:test,geometry:[..],orientation:'180'}element:{name:test2,geometry:[..],orientation:'none'}element:{name:test3,geometry:[..],orientation:'flipX'}element:{name:test4,geometry:[..],orientation:'90'children:[element:{name:test5,