草庐IT

javascript - D3 JSON数据转换

我有这个JSON数据结构:[{"dep":"d1","name":"name1","size":"size1"},{"dep":"d1","name":"name2","size":"size2"},{"dep":"d2","name":"name1","size":"size3"},{"dep":"d2","name":"name1","size":"size4"}]我想将它转换成这样的嵌套结构:{"name":"root","children":[{"name":"d1","children":[{"dep":"d1","name":"name1","size":"size1"},

javascript - 防止D3饼图中的文本重叠

我一直在谷歌搜索,但我似乎无法理解这一点。我的情况是饼图上显示的国家/地区重叠:这是正在发生的事情的一个例子:jsfiddle我是D3的新手,我正在努力防止文本重叠。有没有我可以添加的文本边距属性,这样我的标签就不会相互重叠? 最佳答案 更新:查看D3putarclabelsinaPieChartifthereisenoughspace的答案以获得更全面的解决方案。我不知道有什么通用的方法可以放置文本元素使其不重叠。但是,通过旋转标签和缩放图形使它们不重叠,有一个解决您的问题的方法:http://jsfiddle.net/2uT7F

javascript - d3.js t.map 不是函数

希望有人能帮助我,因为我找不到关于这个错误的任何引用。我正在处理这段代码:varxMin=d3.min(data,function(d){returnd.value;});varxMax=d3.max(data,function(d){returnd.value;});if(0>xMin&0>xMax){xMax=0;}if(0但我一定是犯了一些错误,导致现在加载block在Web控制台中显示以下错误消息:"TypeError:t.mapisnotafunction@http://d3js.org/d3.v3.min.js:2 最佳答案

javascript - D3.js 基于节点个体半径/直径的自动字体大小调整

我如何让D3.js根据每个节点各自的半径/直径自动调整字体大小?我使用了一种允许自动增加尺寸的样式node.append("text").attr("dy",".3em").style("text-anchor","middle").text(function(d){returnd.className.substring(0,d.r/3);}).style("font-size","10px")//initialguess//Thisiswhatgivesitincreasedsize....style("font-size",function(d){return(2*d.r-10)/

javascript - D3 中的循环过渡

基本说明:我有点像D3新手。我的目标是让一条线从A点移动到B点,然后立即重新出现在A点并重复该过渡。我尝试了很多不同的方法,但这是我最接近的方法。varsvg=d3.select("body").append("svg").attr("width",500).attr("height",500);//code,code,code,irrelevantcode...functiontimeForTimeline(){//harvartimeline=svg.append("line").attr("stroke","steelblue").attr({'x1':0,'y1':130,'x

javascript - 使用d3获取鼠标点击svg的坐标

我想获取鼠标点击矩形svg时的坐标。我正在尝试将鼠标点击坐标打印到控制台。我可以使用pageX和pageY来获取坐标,但那是整个页面的坐标。我只需要svg中的坐标。我正在使用d3.v3.min.js所以我尝试了:$(document).mousedown(function(){console.log(d3.mouse(this));});我得到错误:UncaughtTypeError:Cannotreadproperty'sourceEvent'ofnull我也试过:$(document).mousedown(function(){console.log(d3.mouse(docume

javascript - D3 线充当闭合路径

更新:这是一个问题示例-http://jsfiddle.net/Hffks/2/我正在尝试使用D3编写折线图代码,我的线在最后闭合,我的意思是它充当闭合路径,其中第一个点和最后一个点相同。我的数据采用以下JSON格式:[entityA:[{time:1230000,//timesinceepochattribute1:123//numericvalueattribute2:123//numericvalue},{time:1230010,//timesinceepochattribute1:123//numericvalueattribute2:123//numericvalue}],

javascript - 使用时间流逝的 d3 中的颜色过渡

我一直难以理解一些D3概念(我对javascript相对较新,这无济于事)。我想要做的是有一个状态指示器,从绿色开始,慢慢变黄,然后慢慢变红。如果发生某些事件(按下按钮、收到消息等),我希望指示器返回绿色,重新开始转换。这是一个简单的示例(在jQuery中),显示了基本的视觉效果(无法重置)http://jsfiddle.net/N4APE/在D3中,我的想法是将背景颜色映射到经过的毫秒数。我试图创建一个这样的比例://10secisyellow,30secisredd3.scale.linear().domain([0,10000,30000]).range(["#00ff00","

javascript - 无法读取未定义的属性 'force'(简单 D3 网络图)

我是D3和Javascript的新手,但通常很幸运,只需复制基本的D3脚本并将我的数据转换为正确的格式,以便可视化工作。我已经尝试了几个D3网络图,当我检查页面时,所有这些图都出现了相同的错误。未捕获的类型错误:无法读取未定义的属性“force”。如果您在此处查看脚本:http://bl.ocks.org/jose187/4733747我只是将它与相应的.json文件一起完全复制,并收到上述错误。似乎认为d3.layout.force()是一个“匿名函数”。知道发生了什么事吗?或者如何解决?谢谢! 最佳答案 力布局d3.layout

javascript - 在 D3 Javascript 可视化中使用 JSON 数据

我正在通过使用JSON数据来驱动一些使用javascriptD3可视化工具(http://mbostock.github.com/d3/)制作的图表。我已经设置了我的WCF服务,并且Jquery中的这段代码工作正常:$('#getDataItems').click(function(){var$DataList=$('#DataList');$DataList.empty().appendLi('Loading...');//GettheJsonPdata$.getJSON('http://localhost:65025/CustomersService.svc/GetMyDataIt