过滤d3.js sankey图的数据

时间:2013-09-02 09:16:41

标签: d3.js sankey-diagram

我正在尝试使用d3.js Sankey可视化过滤器根据类别过滤数据集。

我正在使用d3.csv方法输入数据,如本例所示 - http://bl.ocks.org/timelyportfolio/5052095

enter image description here

但我想上传一个包含四列的数据集 -

来源,目标,价值,类别

我的目标是实现可在类别之间切换的可视化。因此,每个Sankey可视化仅代表一个特定类别。然后用户可以从下拉列表切换到另一个下拉列表。

这是否可以使用当前的d3.csv输入法?

2 个答案:

答案 0 :(得分:4)

这会有用吗?

d3.csv("file.csv", function(data) {
    [...]

    // Called each time there is an action on the dropdown menu
    function updateGraph() {
         // Select only data that are tagged with a certain category
         var dataset = data.filter(function(d) { return d.category == selectedCategory; });
         // Update graph visualization
    }
}

这样您就不必每次都重新加载csv文件。

答案 1 :(得分:0)

这是第二部分的一个非常长的方法,但是,根据您的类别创建多个html / php和csv文件,然后在每个html / php文件中添加以下代码。如果您有很多类别,这种方法将是额外的工作。

<a href="Category 1.php">Category 1</a> 
<a href="Category 2.php">category 2</a>

如果您按照尝试方式找到解决方案,那么请尽可能更新您的答案。这会很有帮助。

感谢。