javascript - 动态更新平行坐标数据

标签 javascript d3.js visualization parallel-coordinates

我正在使用这里的平行坐标系:http://syntagmatic.github.io/parallel-coordinates/

我在开始时使用 onload 加载 csv 文件:

onload="loadVisualization('./csv/DataSet1.csv')"

并且想要通过单击按钮从另一个 csv 文件重新加载数据。

<script>

    var parcoords = d3.parcoords()("#NetworkData").alpha(.1)

function loadVisualization(source)
{
    parcoords = d3.parcoords()("#NetworkData").alpha(.1)
    d3.csv(source, function(data) 
    {
         parcoords
         .data( data.map(function(d) 
              { 
                  return {  "Time":        d3.time.format("%H:%M:%S").parse(d.Time),                                    
                            "Source":      (d.Source),
                            "Destination": (d.Destination),
                            "Protocol":    (d.Protocol),
                            "Length":      (d.Length),
                            "Destination Port": (d.DestPort),
                         } 
              }) )
        .color( "steelblue" )
        .mode("queue")
        .render()
        .reorderable()
        .interactive() 
        .brushable();  
    });
}

function reloadNewData()
{
    // Delete all data and reload from new source
    d3.select("#NetworkData").remove();
    source = './csv/DataSet_New.csv'
    loadVisualization(source)    
}

</script>

当我调用重新加载函数时,出现错误:TypeError: Selection[0][0] is null

我应该如何进行?

我从 here 读到有关动态更改数据的信息,但不知道如何在这种情况下应用它。

最佳答案

我也一直在尝试将 parcoords.js 与动态数据结合使用。在 loadVisualization 函数的开头,我将 NetworkData div 的innerHTML 设置为“”。我没有 reloadNewData 函数,但您应该能够清除 NetworkData,如下所示。

function reloadNewData()
{
    // Delete all data and reload from new source
    // d3.select("#NetworkData").remove();
    document.getElementById("NetworkData").innerHTML = "";
    source = './csv/DataSet_New.csv'
    loadVisualization(source)    
}

关于javascript - 动态更新平行坐标数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23048351/

相关文章:

python - 基于频率的 pyplot.hexbin 中的十六进制大小

javascript - 如何使DIV无法聚焦?

javascript - 如果与 v-for 一起使用,则无法设置默认输入单选

javascript - 更改浏览器中的导航器以假装已安装该插件(使用 javascript)

javascript - d3.js 代码从 javascript 控制台到 html 页面

angularjs - d3.js 错误 : Invalid value for <g> attribute transform ="translate(NaN,5)"

python - 寻找库/工具来可视化多维数据

java - Spring Source Toolsuite (STS) - 使用 Java-Config 时的批处理图

javascript - Google Maps API - 获取最接近邮政编码的点

javascript - d3 v4 为什么 X 轴上有重复的刻度(如何使用刻度值)?