我正在研究基于MikeBostock的ZoomableSunburst的旭日形可视化。示例。我希望能够使用全新的JSON(具有相同的结构但“大小”值不同)更改基础数据,并让旭日动画转换以反射(reflect)更新后的数据。如果我使用.data()更改路径元素的数据,然后尝试以下列方式更新:path.data(partition.nodes(transformed_json)).transition().duration(750).attrTween("d",arcTween(transformed_json));(..这与点击fn的代码几乎完全相同)functionclick(d){p
所以我有一个非常标准的D3“Sunburst”图。然而,中心路径(即根)太大了。它占据了我图表的很大一部分,由于围绕它的更重要的弧线争夺空间而被浪费了。我正要在外环上添加标签,但我需要更多空间。见下文。我想让中心圆(浅灰色位)更小,外圈更厚。谁能帮帮我?这是我的代码:varwidth=850,height=700,padding=6,duration=750,labelLimit=120,radius=Math.min(width,height)/2-10;varx=d3.scale.linear().range([0,2*Math.PI]);vary=d3.scale.sqrt().
我有一张用D3制作的旭日图。每个“花瓣”代表一个数据子集。当用户点击其中一个“花瓣”时,我希望它进行转换,散开以仅显示该子集(见图):我无法让代码正确转换。单击时,所有“花瓣”(除了选定的花瓣)都应消失,其余路径应沿圆圈设置动画(使用attrTween、arcTween和插值?)。将要更改的主要值是angleSize(varangleSize=(2*Math.PI)/theData.length;)。我试过使用this,this,this,和this作为引用没有太大的成功。处理动画的最佳方式是什么?感谢您的宝贵时间!-->参见PlunkerHere.代码如下:varcolors={'R
我是D3的新手,如果源json被修改,我会尝试动态更新图表。但我无法做到这一点。请查看thisplunkrJs:varwidth=500,height=500,radius=Math.min(width,height)/2;varx=d3.scale.linear().range([0,2*Math.PI]);vary=d3.scale.sqrt().range([0,radius]);varcolor=d3.scale.category10();varsvg=d3.select("body").append("svg").attr("width",width).attr("heigh