2015-10-01 30 views
0

我想使用D3 parcoords创建一个使用CSV数据的平行坐标图,但似乎在线工作的所有示例在我的笔记本电脑本地无法正常工作(通过Chrome和Safari尝试)。带有CSV数据的D3

这是脚本加载CSV数据:

 d3.csv('datatest.csv', function(data) { 
      pcz = d3.parcoords()("#example-zscore") 
      .data(data) 
      //.hideAxis(["name"]) 
      .composite("darker") 
      .render() 
      .alpha(0.35) 
      .brushMode("1D-axes") // enable brushing 
      .interactive() // command line mode 

      change_color("weight (lb)"); 

      // click label to activate coloring 
      pcz.svg.selectAll(".dimension") 
      .on("click", change_color) 
      .selectAll(".label") 
      .style("font-size", "14px"); 
     }); 

需要注意的是,如果我改变.data(data)到:

.data([ 
    [0,-0,0,0,0,1], 
    [1,-1,1,2,1,1], 
    [2,-2,4,4,0.5,1], 
    [3,-3,9,6,0.33,1], 
    [4,-4,16,8,0.25,1] 
]) 

然后用这个数据的图形绘制。

我的CSV样子:

name,economy (mpg),cylinders,displacement (cc),power (hp),weight (lb),0-60 mph (s),year 
AMC Ambassador Brougham,13,8,360,175,3821,11,73 
AMC Ambassador DPL,15,8,390,190,3850,8.5,70 
AMC Ambassador SST,17,8,304,150,3672,11.5,72 
AMC Concord DL 6,20.2,6,232,90,3265,18.2,79 
AMC Concord DL,18.1,6,258,120,3410,15.1,78 

回答

2

浏览器从文件中读取数据时强制执行安全限制,所以你需要通过Web服务器访问您的index.html。

Python有一个内置在有利于这些目的的http服务器,所以浏览到您把即代码的目录,然后运行:

python -m SimpleHTTPServer 

而且你应该能够访问该文件在localhost:8000/index.html(假设这就是你的文件命名,当然)。