1

我有一个包含音乐相关数据(元数据)的 CSV 文件。数据结构如下所示:流派、艺术家、曲目

Genre是第一类,Artist是第二类,意思是一个流派有很多艺术家,所以一个艺术家可能有很多歌曲。

这是我的代码:

var dataset = d3.csv("musictrackstiny.csv", function(musicdata){    

var genre=d3.nest()
  .key(function(d) {return d.genre;})
  .sortKeys(d3.ascending)    
.entries(musicdata);


var g=svg.selectAll("g").data(musicdata).enter()
    .append("g")
    .attr("transform",function(d,i) {return "translate("+(120*i)+",0)";});

 g.append("rect")
    .attr("x",cmargin)
    .attr("y",cmargin)
    .attr("width",cwidth-2*cmargin)
    .attr("height",cheight-2*cmargin)
      .append("title")
      .text(function(d) {return d.genre;})

  g.append("text")
    .attr("y",cheight+10)
    .attr("x",cmargin)
    .text(function(d) {return d.genre;})

genre问题是即使我正在使用该keys功能,我也会在显示中看到许多重复条目。

我的最终目标是拥有一个以流派作为第一个节点然后Artists作为其子节点的树/图。当前使用矩形的显示是为了测试该概念是否有效。请注意,将有许多与歌曲相关的流派和艺术家。我希望有这样的树结构:

http://mbostock.github.com/d3/talk/20111018/tree.html

4

0 回答 0