草庐IT

d3dtexture

全部标签

javascript - 将数据传递给 d3.svg.line()

所以,我有一个像这样的Javascript对象:-对象{数据:Array[39],时间:Array[39]}object.data是一个值数组,而object.time是一个javascript的日期对象数组。我正在尝试在D3中绘制折线图。我的代码的相关部分://Linefunctionvarline=d3.svg.line().x(function(d,i){returnx(d.time);}).y(function(d,i){returny(d.data);});//DrawLinesvg.append("path").datum([data]).attr("class","lin

javascript - 使用 D3.js 和 Immutable.js

在我的应用程序中,我使用D3.js进行一些可视化。现在,D3使用可变原生JavaScript数据结构。因此,为了与Immutable.js一起工作,需要进行一些数据编码。我还将Reflux与React结合使用,因此在我的Store中我管理了一个不可变映射。由于此map在每次更改时都会成为新事物,我不能只将它传递给D3ForceLayout,因为它适用于可变数据,因此每次它都会从头开始重新计算所有内容。我最终管理不可变和可变数据结构,但这感觉很不对。我找到了一篇文章,PracticalTimeSeriesVisualizationusingD3+OM,这似乎触及了主题并建议使用游标。问题

javascript - D3.js 具有相同刻度位置的多个 y 轴?

我有一个包含3个y轴和一个x轴的图表,必须缩放所有3个轴。!DEMO是否可以将所有3个y轴的中心都设置为0?如果我缩放图表刻度必须留在同一个地方?或者,也许,说“总是只显示0值之间的10个刻度”。例如:范围1->[10..0..-10]范围2->[350..0..-350]范围3->[0,1..0..0,9]但是来自所有3个范围的所有报价都必须保持在同一位置。更新//zoomingvarzoom0=d3.behavior.zoom().x(x).y(_y[0]).on("zoom",zoomed);varzoom1=d3.behavior.zoom().y(_y[1]);varzoom

javascript - 如何控制d3 force layout的仿真速度

我正在关注像this这样的d3强制布局示例.我想控制点飞向簇的速度。换句话说,我想让一些点花更多的时间到达它们的最终位置,而一些点花更少的时间。我尝试添加一个计时器功能来控制每个滴答的时间,但没有成功。this.force=d3.layout.force().on("tick",setTimeout(tick(d),50));我需要帮助。 最佳答案 不要设置计时器来调用tick函数,这是由强制布局自动完成的。然而,您可以设置许多参数来修改强制布局的行为。以下是与您尝试做的事情最相关的内容。.friction()对应于速度衰减的速度,

javascript - D3 事件在隐藏的 svg 元素上触发

我似乎找不到这个问题的答案,我花了一段时间将它重新创建为一个独立的fiddle/笔,但我终于找到了。我正在开发使用D3绘制和操作svg图形的Vaadin应用程序。在某一点上,屏幕上有svg,它具有visibility:hidden。这在所有浏览器中都能完美地找到。这些隐藏元素有点击和鼠标悬停事件,在所有浏览器中都能找到但是在firefox版本34中,隐藏元素仍然会在它们仍然隐藏时触发它们的事件(单击和鼠标悬停)。为了更好地解释:当一个按钮被隐藏时,它的鼠标悬停事件不应该触发,当它可见时应该触发。这就是它在所有浏览器中的工作方式,除了firefox34、35beta和36开发版。它在Fi

javascript - 从 CSV 数据创建 D3.js 可折叠树

对于那些更熟悉d3的人来说,这可能是一个有点愚蠢的问题,但我对它还很陌生,我不太明白如何让它工作:我想要实现的是:http://bl.ocks.org/robschmuecker/7880033但我想从平面CSV而不是JSON中为它提供数据。问题是我的CSV格式如下:ParentName|ChildName-------------------------ParentName|ChildName-------------------------ParentName|ChildNamesoon...有人可以指出我正确的方向吗?我知道d3.csv函数以某种方式工作,但我不知道如何将其“插入

javascript - D3.js 中具有自动调整文本大小的可缩放圆圈打包

我正在尝试合并Mike的两个示例:ZoomableCirclePacking+AutomaticTextSizing.它在最初显示在顶层时有效。但是,如果放大到下一级,字体大小会不正确。我不确定我是否需要修改转换,或者修改计算字体大小的部分。这是我的代码笔:http://codepen.io/anon/pen/GJWqrLvarcircleFill=function(d){if(d['color']){returnd.color;}else{returnd.children?color(d.depth):'#FFF';}}varcalculateTextFontSize=functio

javascript - d3.select 不适用于特殊字符

我正在使用d3.js制作简单图表。假设在我计划放置我的d3svg容器的div之后但是当我使用d3.select('#my~div_chart')我无法选择特定的div,但是通过使用java脚本选择器,它可以工作。document.getElementById("my~div_chart");谁能告诉我为什么会这样。如果是特殊字符问题,请告诉我支持哪些特殊字符。 最佳答案 它就在那里,在specifications中:InCSS,identifiers(includingelementnames,classes,andIDsinsel

javascript - D3 - 从 v3 升级到 v4 时,forEach 不是函数

我正在尝试升级this可堆叠条形图到v4。除了一件事,一切正常。当我过滤一个类别时,条形图不会落到x轴的起点。我收到一条错误消息:state.selectAll(...).forEachisnotafunction我已经尝试了多种方法,但我无法弄清楚这一点。这是损坏的代码:functionplotSingle(d){class_keep=d.id.split("id").pop();idx=legendClassArray.indexOf(class_keep);//eraseallbutselectedbarsbysettingopacityto0d3.selectAll(".bar

javascript - D3 排序函数总是传递未定义的参数

使用D32.4.2,我创建了许多路径元素,如下所示:for(vari=0;i它们都按预期绘制到屏幕上。稍后,当用户进行一些输入时,我想将其中一个放在最前面,所以我有一个事件处理程序可以执行此操作:varpathToHighlight=selectPath(pathIndex);varpaths=d3.selectAll("."+PATH_CLASS);paths.sort(function(a,b){if(a===pathToHighlight){return-1;}elseif(b===pathToHighlight){return1;}else{return0;}});在Chrom