草庐IT

D3Blocks

全部标签

javascript - D3 - 获取当前时间并减去 2 小时

我正在尝试在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

javascript - svg 和 D3 中的 cx、cy vs 变换,有什么区别?

我正在研究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

javascript - D3 中的饼图( donut )图段顺序

我有一个使用d3构建的圆环图和一个jQueryslider,允许用户在不同的数据点之间进行选择。该图表动画化了数据值之间的转换,一切都很好。问题:片段总是按逆时针大小顺序呈现(从大到小)。这意味着段根据它们的大小在图表中切换它们的位置。这种行为让用户感到困惑,但不幸的是我不知道如何改变它。我希望这些片段保持在它们的初始位置。工作js-fiddle:http://jsfiddle.net/kerplunk/Q3dhh/我相信问题一定出在执行实际补间的函数上://Interpolatethearcsindataspace.functionpieTween(d,i){vars0;vare0;

javascript - 在 D3.js 中重新排序 SVG ( z-index ) 的元素

我知道这个问题以前有人问过,但我无法追根究底。这是我的图表...http://www.gogeye.com/financialnews/piechart/index3.html我想要做的就是让硬币在图形后面渲染。我知道D3按附加顺序呈现。我已尝试重新添加代币,但似乎无法正常工作。我曾尝试在DOM中附加内容时重新排序,但不断出现错误,这可能是因为变量在定义之前被调用等等。有人可以举例说明如何使用我的代码解决此问题吗?我不想让你为我做这项工作,但我已经拖延了很长时间,我似乎无法将其他人的例子应用到我的身上。谢谢 最佳答案 我建议使用代表

javascript - 未捕获的类型错误 : Cannot read property 'arc' of undefined in AngularJS and D3

我是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

javascript - 使用 d3.js 绘制旋转和翻转的叠瓦 block

我必须创建由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,

javascript - d3.js力向图中是否有点击和双击事件

我正在使用d3.js研究力导向图。我需要处理移动设备节点上的点击和双击事件。鼠标悬停和单击功能需要在d3.js中复制为点击和双击。我已经设法使触摸事件正常工作,但不知道如何在移动设备中捕获双击事件。 最佳答案 D3有touchesevent并使用它您可以从事件处理程序内部获取触摸位置坐标,但这不会为您提供任何特殊处理或帮助识别长按和双击。您可以自己添加对长按和双击的支持。对于长按,请看这个例子:LongPressinJavaScript?如果您使用的是jQuery,可以使用像这样的doubletap插件:jQuerydoubleta

javascript - 具有多个键的嵌套运算符的 D3.js 汇总

我正在为时间报告应用程序开发d3.js可视化。我在包含项目时间报告(简化)的数组actuals中有行数据:[{resource:"JohnSmith",reporting_period:"2012/04/1",project:"Javaimplementation",hours:8}...}]我正在尝试使用d3.nest运算符按项目、资源和期间对项目实际值进行分层分组。一切正常,但我找不到使用nest.rollup()运算符在分组的中间级别获取小时小计的方法。我有这样的东西:actuals_by_prj_rsrc_period=d3.nest().key(function(d){ret

javascript - 更新 d3 Force Layout 中的现有节点

我使用d3创建了一个强制布局,它运行良好。我的初始数据是从一个json文件加载的,图表是用类似于thisd3.jsexample的技术绘制的。:现在图表已显示在屏幕上,我需要根据通过网络套接字接收的数据动态添加、更新和删除节点。我可以使用添加和删除方法,但找不到更新现有节点属性的正确方法。根据我所进行的阅读,我认为正确的技术是更改数据源,然后使用enter()方法更新图表。要更新节点,我正在执行以下操作:functionupdateNode(id,word,size,trend,parent_id){varupdateNode=nodes.filter(function(d,i){re

javascript - 使用 dagre-d3 或 colajs 的 d3js 流程图

在看到相当复杂的TCPstatediagramexample之后dagre-d3,我认为它能够解决类似复杂性的图表。在下图中,情况显然不是这样。如果交换两个标记的节点,则所有交叉点都将得到解决。另一个有趣的事情是,图形的求解效果似乎取决于我设置边的顺序。下面的代码g.setEdge("148570019_1100","148570020_1100",{label:""});g.setEdge("148570019_1100","148570021_1100",{label:""});g.setEdge("148570019_1100","148570010_1100",{label:"