草庐IT

javascript - d3.js 缩放仅在光标位于图形像素上时有效

我正在尝试以最简单、最基本的方式在树状图上实现缩放功能,并且已经让它发挥作用。唯一的问题是缩放事件仅在光标位于边缘、节点或文本上时有效。当光标位于svg的任何部分时,如何允许缩放?varmargin={top:20,right:120,bottom:20,left:120},width=2000-margin.right-margin.left,height=2000-margin.top-margin.bottom;varx=d3.scale.linear().domain([0,width]).range([0,width]);vary=d3.scale.linear().doma

javascript - 绘制多条实时线

我想使用JSON文件绘制多条实时线。我基本上是从网站检索JSON文件,获取时间数据(以秒为单位的持续时间),将它们转换为分钟并将它们推送到数据数组中。此代码每秒检查一次JSON文件。我想添加尽可能多的行。例如,我想添加数据数组中元素的平均值(平均持续时间)并将其绘制在同一平面上。我试图添加另一个“线”和“路径”变量,但我无法同时绘制它。数据数组是一个空数组,开头有44个元素,每次代码检查JSON文件时,它都会用检索到的持续时间数据替换这些零。这是我只画一条线的代码。functiongraph(){varn=43,duration=1000,now=newDate(Date.now()-

javascript - D3js : Dragging a group by using one of it's children

Jsfiddle:http://jsfiddle.net/6NBy2/代码:varin_editor_drag=d3.behavior.drag().origin(function(){varg=this.parentNode;return{x:d3.transform(g.getAttribute("transform")).translate[0],y:d3.transform(g.getAttribute("transform")).translate[1]};}).on("drag",function(d,i){g=this.parentNode;translate=d3.tr

javascript - 在 d3.js 中有 child 朝向多边的树(类似于家谱)

vartreeData=[{"name":"Device","parent":"null"}];vartreeData2=[{"name":"Device","parent":"null"}];$(document).ready(function(){varmargin={top:20,right:120,bottom:20,left:120},width=1260-margin.right-margin.left,height=500-margin.top-margin.bottom;vari=0,duration=750,root;vartree=d3.layout.tree().

javascript - 将 Handlebars 与 D3.js 结合使用

我有一个Handlebar模板,我想将d3生成的svg图形包含到该模板中。图形应该在模板内D3图vardataset=[1200,3000,3200];//datasetwillchangedynamically.varw=154;varh=42;varrect_1_h=5;varrect_2_h=rect_1_h*2;varrect_2_w=rect_1_h/2;varrect_1_color="#A1C9D9";varrect_2_color="#999999";vartext_color="#555555";varfont_size=18;varfont_family="Sego

javascript - d3.js:限制画笔的大小

有没有办法限制画笔的大小,即使范围更大?我整理了一个只有x比例尺的画笔,可以移动和调整大小。我希望能够限制用户可以调整大小的范围(基本上只能达到某个点)。在下面的示例中,当画笔大于最大范围的一半时,画笔函数将停止更新。但是,刷子本身仍然可以扩展。有没有办法防止这种情况发生?或者有更好的方法来处理这个问题吗?非常感谢!在此处查看此代码:http://bl.ocks.org/3691274(编辑:此演示现在有效)bar=function(range){varx_range=d3.scale.linear().domain([0,range.length]).range([0,width])

javascript - 使用 jQuery .attr 或 .prop 设置属性值不起作用

我创建了一个按钮,其属性名为“loaded”,初始值为“no”。单击按钮后,我正在运行一些ajax,在它的最后我试图将“已加载”属性设置为"is",这样如果用户多次单击按钮,ajax就不会再次运行.我有这样的东西:http://jsfiddle.net/PDW35/2/单击按钮不会将加载更改为"is"。但是,如果您在.attr调用后立即发出警报,如下所示:alert($(this).attr('loaded'));警告框确实包含"is",这没有帮助,因为一旦用户点击,上面的相同代码会在屏幕上显示“否”警告框。如果我使用.prop()而不是.attr(),所有行为都是一样的。我是否遗漏了

javascript - 我想通过粗细来区分d3.js力图的链接

我想通过粗细来区分链接我有数据。变量“value”表示“thickness”。“值”的范围是0~1。{"nodes":[{"name":"A","group":1},{"name":"B","group":1},{"name":"C","group":1},{"name":"D","group":1},{"name":"E","group":1}],"links":[{"source":0,"target":1,"value":0.9},{"source":0,"target":2,"value":0.8},{"source":0,"target":3,"value":0.7},{"s

javascript - 在 jsf 中使用 d3 图表有技巧吗?

我在Liferay中使用PrimeFaces,让D3示例显示在jsfland中的技巧是什么,特别是Liferay上的PrimeFaces。我试图在JSF中工作的例子是这个:Howwouldd3.jsdifferencechartexampleworkwithjsondata? 最佳答案 我想通了。诀窍是引用div元素而不是body。我见过的所有示例都使用“body”。在门户容器中,您不想使用body,因为这会将您置于portlet之外。div是必需的,并且必须像在javascript中一样被引用。我在下面包含了新代码"method=

javascript - 错误 : Invalid value for <g> attribute transform ="translate(undefined,undefined)"

我在集群中遇到d3.js问题。它给了我以下错误:Error:Invalidvalueforattributetransform="translate(undefined,undefined)"我不知道为什么它会给我。代码:varloadd3=function(){functionelbow(d,i){return"M"+(d.source.y+100)+","+d.source.x+"V"+d.target.x+"H"+(d.target.y+100);}varwidth=(window.innerWidth-100),height=(window.innerHeight-20);va