词云生成器

时间:2015-12-29 21:45:14

标签: d3.js word-cloud

我正在使用Jason Davies's Word Cloud Generator创建Word Cloud Generator,但只是一种输入数据的方式, textarea 只接受字符串以及我的问题,我的数据输入是对象:

var data= [{
            "text": "First",
            "size": 12
            }, {
            "text": "Second",
            "size": 35
          }];

现在,这个问题有解决方案吗?

2 个答案:

答案 0 :(得分:2)

documentation非常明确应该如何使用它。以下内容来自example

var layout = cloud().words(data);
layout.start();

function draw(words) {
  d3.select("#container").append("svg")
      .attr("width", layout.size()[0])
      .attr("height", layout.size()[1])
    .append("g")
      .attr("transform", "translate(" + layout.size()[0] / 2 + "," + layout.size()[1] / 2 + ")")
    .selectAll("text")
      .data(data)
    .enter().append("text")
      .style("font-size", function(d) { return d.size + "px"; })
      .style("font-family", "Impact")
      .style("fill", function(d, i) { return fill(i); })
      .attr("text-anchor", "middle")
      .attr("transform", function(d) {
        return "translate(" + [d.x, d.y] + ")rotate(" + d.rotate + ")";
      })
      .text(function(d) { return d.text; });
}

答案 1 :(得分:0)

通过在 cloud.js 中使用生成功能和标记数组来解决我的问题。