【发布时间】:2015-03-05 17:31:57
【问题描述】:
我正在尝试更改此处找到的序列 Sunburst 的数据: http://bl.ocks.org/kerryrodden/7090426
我希望在我单击按钮时将其更改为新的数据集(csv 或 json)。
我尝试读取一个新的 csv,并调用 createVisualization(json);:
$('.toggle-data').click( function() {
d3.text("../csv/new-data.csv", function(text) {
var csv = d3.csv.parseRows(text);
var json = buildHierarchy(csv);
createVisualization(json);
});
});
我还尝试使用更新的 json 直接调用 createVisualization(json);。
在这两种情况下我都会收到此错误:Uncaught TypeError: Cannot read property '__data__' of null
其中指的是这行代码:totalSize = path.node().__data__.value;
我还尝试在创建新的 svg 之前删除旧的 svg,但这并没有改变任何东西。
问题:如何更改该旭日形的底层数据(理想情况下从一个数据集到另一个数据集的动画)?
我没有设法制作一个有效的fiddle,所以这是另一个线程的一个(所有代码都在上面的链接中):http://jsfiddle.net/zbZ3S/(不同的数据 - 使用 json,但应该和上面的链接是一样的代码)
【问题讨论】:
-
我现在正在努力解决这个相同的问题 - 你有没有设法解决这个问题?谢谢!
-
我没有解决它,但使用了对同一旭日形的这种角度大修:gist.github.com/chrisrzhou/d5bdd8546f64ca0e4366 使用
ng-click="sunburst.selectExample('name_of_your_csv')为您想要的任何元素添加点击事件。 -
太好了 - 谢谢!
标签: javascript json csv d3.js sunburst-diagram