Tag: d3.js

一个d3.select …相当于jQuery.children()

我正在使用d3在enter()上附加一些元素,然后再更新它们。 但是,下次我尝试选择这些元素时,选择比原始元素大得多。 这是因为原始选择元素现在具有相同类型的子元素,例如: , 。 我希望selectAll()只能在jQuery这样的第一个死亡级别工作。孩子们()在d3中有等价物吗? 如果不是什么最有效的方式来垫片呢?

使用Javascript / D3JS / JQuery永久更改CSS属性

有没有一种快速简便的方法来“永久地”使用Javascript,D3JS或JQuery更改CSS的属性? 我发现这个问题会改变几何已经存在的问题: $(‘.myClass’).css({ …Your CSS properties here… }); 但是,我想更改CSS属性,以便在该会话中创建的几何体也将具有这些更新的更改。 我怎样才能使用Javascript将下面的CSS类从钢笔的笔触更改为浅灰色的笔触? .P0{ fill:none; stroke-width:1.25px; stroke:steelblue;}

移动散点图圈与背景缩放和刷D3

我正在尝试基于http://bl.ocks.org/1667367的 d3示例创建一个Focus + Context + Tooltip图。 我已经有了基本的图表,但是当我尝试使用焦点图表放大某个区域时,我计划用于工具提示的“圈子”不会移动。 这是我的代码 var margin = {top: 10, right: 10, bottom: 100, left: 40}, margin2 = {top: 430, right: 10, bottom: 20, left: 40}, width = 960 – margin.left – margin.right, height = 500 – margin.top – margin.bottom, height2 = 500 – margin2.top – margin2.bottom; var data = [{ ‘Wed […]

无法通过具有多个路径的刷新图表绘制d3.js Focus + Context

我已经使用了几个星期,似乎无法弄清楚如何用多条路径绘制下面的图表。 通过刷新图表聚焦+上下文 我试图创建一个jsfiddle,但无法复制我得到的屏幕。 此时我所拥有的与原始图表类似,只有一条路径而不是区域和刷子工作。 基本上尝试结合Focus图表和Multi-Series折线图Multiseries图表 。 但是当我尝试添加另一条路径时,没有任何作用。 请提出我需要做的任何想法或更改才能使其发挥作用。 还有我可以看到的任何其他类似的图表(或图表exaples)。 可以以任何方式或forms重新排列数据以使其工作。 的jsfiddle path { fill:none; stroke:white; stroke-width:2px; } .axis path, .axis line { fill: none; stroke: #CCC; shape-rendering: crispEdges; } .brush .extent { stroke: #fff; fill-opacity: .125; shape-rendering: crispEdges; } .path_green { stroke:green; } .path_red { stroke:red; } .path_yellow { stroke:yellow; } function drawChart() { var […]

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

我意识到这个问题之前已被问到,但我无法深究它。 这是我的图表… http://www.gogeye.com/financialnews/piechart/index3.html 我想要做的就是在图表后面放置硬币。 我知道D3渲染它们是为了附加它们。 我试图重新附加硬币,但似乎无法让它工作。 我已经尝试重新排序,当事物被附加在DOM中,但不断出现错误可能是因为变量在被定义之前被调用等。 有人能举例说明如何用我的代码解决这个问题吗? 我不希望你为我做这项工作,但我已经把头发拉了很长时间,我似乎无法将其他人的例子用于我的。 谢谢

同一页面上的多个版本的脚本(d3.js)

我需要在同一页面上有多个版本的JavaScript库。 我怎样才能实现这一点,除了手动重构一个版本以避免命名冲突? 有很多关于如何使用Jquery( 示例 )执行此操作的示例 。 然而,这似乎依赖于jQuery的优点。 我如何为任意脚本执行此操作? 更多细节:我正在使用d3.js ,我正在插入其他人使用d3制作的可视化。 问题是,其中一个vizze需要一个版本的d3,另一个需要更新的版本。 这两个vizze应该在同一页面上可用 – 用户交换哪个viz通过单击缩略图显示,然后js用于隐藏一个viz并构建另一个。 因此,似乎交换脚本而不是以无冲突样式加载它们也可能是一种选择。

相当于D3.js中jQuery的’not’选择器?

在D3.js中工作,我想选择除当前元素之外的所有与选择器匹配的元素。 原因是我想鼠标移动一个圆圈,并让所有其他同一类的圆圈变为浅蓝色,但当前圆圈保持相同的阴影。 这就是我目前所拥有的: vis.selectAll(‘circle.prospect’) .on(“mouseover”, function(d) { console.log(d); d3.selectAll(‘circle.prospect’).transition().style(‘opacity’,’0.5′); d3.select(this).attr(‘opacity’,’1.0′); }); 在jQuery中,我可以使用not来做到这一点 。 有人知道D3.js相当吗?

jQuery页面滚动事件逻辑 – 如何限制

我有一些jQuery监听器设置如下: $(document).scroll(function() { if( $(this).scrollTop() change1 && $(this).scrollTop() change2) { updateBarChart(‘valuem’, ‘remove’) //updateSteamChart(”,’steam’) } }); 直截了当。 滚动更改时会更新某些图表。 我的问题是,这是发送太多function更新。 我想如果有一种方法来限制.scroll(function(){})那么,会触发更少的事件更新。 想法?

使用jQuery和CSS设置d3元素的样式

我有某种技术问题。 我想知道是否有可能使用jQuery设置d3元素的样式。 例如,来自d3网站http://www.jasondavies.com/collat​​z-graph/的“Collat​​z Graph”示例正在生成带有小标签的圆形节点。 在这种情况下,数字1,2,3等。 这个数字只不过是一段代码,例如 32 我怎么能用jQuery设计这个元素? 例如,通过点击添加红色边框? 显然我需要中的类或id,并按如下方式进行: $(“.nome_class”).click(function() { $(this).css( “border”, “3px solid red” ); }); 在我的代码中,两个d3都在工作(我可以看到一个图形)并且jQuery正在工作(我可以用例如样式或用常规HTML元素做其他事情)。 但是当我尝试样式d3元素时,我没有得到任何结果。 我将非常感谢任何暗示或建议。

d3.按属性值选择

我是d3的新手。 我有这样的定义: node = node.enter().append(“circle”) .attr(‘id’, function(d){ return d.id; }) .attr(“class”, “node”) .on(‘mouseover’, mouseover_node) .on(“click”, nodeClick); 现在在函数nodeClick中我想访问具有特殊id的节点(或循环)。 我正在寻找可以像这样使用的东西: for(var i=0;i<maxId;i++) { d3.select(the node with id = i).do…. 有人知道我怎么做吗?