草庐IT

javascript - 在 d3 arc javascript 中绘制文本

我在http://jsfiddle.net/PRb93/1/上用d3创建了一个弧varvis=d3.select("body").append("svg")varpi=Math.PI;vararc=d3.svg.arc().innerRadius(300).outerRadius(320).startAngle(0*(pi/180)).endAngle(-pi)vis.append("path").attr("d",arc).attr("transform","translate(350,350)")​现在我想在这个圆弧的顶部绘制文本(我将把这个圆弧分布到n个节点中)。我不能直接使用和

javascript - 动态调整和拖动 SVG 多边形

我正在努力寻找一种方法来使用鼠标动态调整和拖动svg多边形的大小。不幸的是,jQueryUi不适用于svg元素。我还检查了Raphael库,但找不到任何关于如何实现这一点的文档/片段。除了使用SVG之外,还有其他方法可以动态调整和拖动多边形图形吗? 最佳答案 您可以自己使用SVG元素。特别是,您可以找到多边形的点并添加可使用jQuery拖动的HTML元素句柄。(我假设您遇到的问题是jQueryUI不适用于SVG定位模型。)这是我刚刚编写的完整示例(在Safari5和Firefox9中测试)。(免责声明:我不是jQuery的普通用户;

javascript - d3.js 在d3.geo.path中添加一个圆圈

我已经从转换为geojson的mbtile创建了一个map,投影是WGS84。我这样加载它:varmap=svg.append("g").attr("class","map");varpath=d3.geo.path().projection(d3.geo.albers().origin([3.4,46.8]).scale(12000).translate([590,570]));d3.json('myjsonfile.json',function(json){map.selectAll('path').data(json.features).enter().append('path'

javascript - SVG 组拖动

我正在尝试在组内实现组和个人拖动。该组中有3个圆圈。蓝色和灰色圆圈必须单独拖动(通过onmousedown),橙色圆圈用于组移动(通过onclick)。问题是在拖动整个组之后,但你必须尝试http://www.atarado.com/stackOF/drag-with%20problems.svg并查看代码。如有任何帮助,我们将不胜感激。谢谢。 最佳答案 我想我已经解决了你的问题:https://codepen.io/petercollingridge/full/djBjKm/问题是单个拖动会改变圆的cx和cy属性,但组拖动会影响整

javascript - d3.js 将点击 Action 添加到力布局圈?

我正在努力创建一个具有强制布局的无向图。此外,我尝试通过点击事件改变每个圆圈(节点)的颜色。是否有任何想法在圆形元素上添加此类事件。我尝试了这段代码,但它不起作用。vis.selectAll("circle.node").on("click",function(d){vis.select(d).attr(r,25).style("fill","lightcoral").style("stroke","red");}); 最佳答案 select(d)引用数据,而不是元素。你需要select(this)vis.selectAll("ci

javascript - 给 svg :g element in D3. js 添加一个 title 属性

我正在使用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

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 - svg 中的不透明度与填充不透明度

opacity与SVG中的fill-opacity有什么区别?我引用了fill-opacity的文档和opacity但我很困惑fill-opacity:opacityofthecontentofthecurrentobject对比opacity:transparencyofanobject 最佳答案 区别正是名称所指示的:)。fill-opacity仅适用于元素的fill(或者换句话说,仅适用于其背景),stroke-opacity仅适用stroke而opacity适用于两者。opacity是一种后处理操作。也就是说,元素(或组)作

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