草庐IT

javascript - d3 + 主干 : updating elements for which data has changed

我将d3与Backbone.js模型一起使用。当模型属性发生变化时,将触发一个事件,并用hasChanged()标志标记模型,并返回一个changedAttributes()散列。我了解如何使用d3的enter()和exit()来处理已创建或删除的模型。我无法弄清楚的是如何根据模型属性的变化修改相应的DOM元素。我可以使用Backbone助手来确定要修改的内容,但是d3的下一步是什么? 最佳答案 我在d3邮件列表上得到了一些有用的回复:http://groups.google.com/group/d3-js/browse_threa

javascript - D3JS selectAll追加矩形

我对d3.js可视化数据的简洁性感到惊讶。这种简洁背后隐藏的复杂性也让人有点难以理解它是如何工作的。以下是来自http://mbostock.github.com/d3/ex/calendar.html的部分代码问题是它如何在创建的svg数量内为一天创建rect(varsvg=d3....)。在语句svg.selectAll("rect.day")中,我不确定它是如何为每个svg添加rect(selectAll试图选择rect.day!)varmargin={top:19,right:20,bottom:20,left:19},width=960-margin.right-margin

javascript - 读取数据时删除行 D3

假设我有一个示例文件sample.csv:row,col,value1,1,21,2,31,3,NA在d3中读取数据时,您会执行类似以下操作:d3.csv("sample.csv",function(data){data.forEach(function(d){d.value=+d.value;});但是,对于NA值,+d.value将返回NaN。如何从我的数据中排除NaN值。即读取数据,只取有数值的行谢谢! 最佳答案 您可以在尝试添加数据之前对数据调用isNaN:d3.csv('sample.csv',function(data)

javascript - D3.js - 如何防止圆圈和文本重叠

为每个json创建一个圆圈并随机输出x和yfor(vard=0;d声明一个圆变量,同时设置属性和动画varcircle=svg.selectAll("circle").data(json)circle.enter().append('circle')动画circle.transition().duration(1000).attr("fill","blue").attr('opacity',0.6).attr('r',5).attr("cx",function(d,i){returncirclexloc[i]}).attr("cy",function(d,i){returncircle

Javascript 求和数组,使用 d3.nest()

如果我有这样的数据:harvest=[{type:"apple",color:"green",value:1},{type:"apple",color:"red",value:2},{type:"grape",color:"green",value:3},{type:"grape",color:"red",value:4}]我可以使用d3的nest.rollup()函数通过各种属性对其求和:sum_by="color";rollup=d3.nest().key(function(d){returnd[sum_by];}).rollup(function(d){returnd3.sum(

javascript - d3.js 处理非 svg 浏览器

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。d3.js开发人员如何处理无法呈现svg的浏览器?我很好奇,因为InternetExplorer9、8、7等在世界大部分关键地区拥有巨大的多数市场份额,但似乎有如此活跃的d3.js社区,就好像InternetExplorer不存在一样。D3的目的是提供灵活的数据驱动图表,因此能够以直观的方式可视化复杂的主题。因此,瞄准最时尚的技术场景并假装其他人也从他们的

javascript - 如何使用 D3.js 实现 R 核密度估计图?

这是我的R代码:x我正在尝试使用D3.js或任何其他等效的JavaScript库实现相同的结果..有人可以帮忙吗? 最佳答案 你见过kerneldensityestimation吗?例子?不可否认,它使用的是Epanechnikov内核而不是Gaussian,但是那部分可以修改。 关于javascript-如何使用D3.js实现R核密度估计图?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

javascript - d3.js 在彼此之上创建对象

我使用以下代码在我的SVG元素中创建矩形:varrectangles=svg.selectAll("rect").data(dataset).enter().append("rect");rectangles.attr("x",function(d){returnxScale(getDate(d));//returnxScale(d.start);}).attr("y",function(d,i){return(i*33);}).attr("height",30).transition().duration(1000).attr("width",function(d){returnd.

javascript - d3JS : Plot lower-density data version of a large data set when zoomed out on line/area chart

我正在创建一个类似于MikeBostock's的图表可缩放面积图。对于我的特定项目,我有一组传感器,每30秒记录一次值(温度、光线、湿度和声音)。我有缩放实现工作,但是当我缩小到一年的比例时,图表的密度会减慢浏览器的速度并且图形也不会读取。如何编辑脚本,使折线图的密度相对于缩放量发生变化?换句话说,x域控制着值(value)线上的点数。当我放大到一个小时的时间范围时,我想要全密度(每30秒记录一次),而当我缩小时,我想要低得多的密度(每天记录一次)。有任何想法吗?使用上面链接中的脚本实现会很有帮助。谢谢!svg{font-size:10px;}.axis{shape-rendering

javascript - d3饼图的不同弧形显示相同的颜色

我已经使用d3创建了一个饼图。它工作得很好,但是,当两个元素的数据值相等时,它显示相同的颜色。我该如何解决这个问题?functiongraph_pie_value(data,id,height,width){d3.select(id).selectAll("svg").remove();varradius=Math.min(width,height)/2;varcolor=d3.scale.category20c();varpie=d3.layout.pie().sort(null).value(function(d){returnd.value;});vararc=d3.svg.ar