javascript - 在 D3.js 中添加列

标签 javascript d3.js

我正在使用 D3.js 在一行内绘制 4 列,我有三列数据,我想再添加 1 列添加到末尾。我的 html 文件是这样的。

<div class="container"> 
  <div class="feature">
    <div class="row">

    </div>
  </div>
</div>  

我的 Javascript 代码是这样的。

  function calculateNumber(){
    var json_url = "...";
    dataset = []; 
    d3.json(json_url, function(data) {
      dataset.push(intToString(data[0]["num_jobs"]));
      dataset.push(data[0]["cpuhour_tot"]);
      dataset.push(data[0]["cpuhour_tot"]);
        d3.select(".feature .row").selectAll("div")
          .data(dataset)
          .enter()
          .append("div")
          .attr("class", "col-xs-3")
          .text(function(d){ return d});
    });

    new_data = generateStatic();

    d3.select(".feature .row").selectAll("div")
      .data(new_data)
      .enter()
      .append("div")
      .attr("class", "col-xs-3")
      .text(function(d){ return d});
  }  

这段代码完美地添加了 3 列,现在 new_data =generateStatic(); 有了我想要添加的新数据。

数据集和new_dat不同

现在我想添加另一个div..但是代码没有添加任何新的div,只需重写拳头即可。

我包含了标记新 div 必须出现的位置的图像

enter image description here

有什么想法吗?

最佳答案

如果您尝试通过两个类名选择,则需要删除类名和点.之间的空格。

d3.select(".feature.row").selectAll("div")

在您的循环中,您将多次添加数据集,我不确定这是否是您打算做的。也许可以考虑

.data(dataset)

function calculateNumber() {
  dataset = [
    [1, 2, 1],
    [3, 4, 3],
    [5, 6, 5]
  ];

  d3.select(".feature.row")
    .data(dataset)
    .enter()
    .append("div")
    .attr("class", "col-xs-3")
    .text(function(d) {
      return d
    });

};

calculateNumber();
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.3.13/d3.min.js"></script>
<div class="container">
  <div class="feature">
    <div class="row">
      <div class="col-xs-12 col-sm-3">
        <div class="item_feature">
          <h2>title </h2>
          <div id="resume_data">
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

关于javascript - 在 D3.js 中添加列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40729548/

相关文章:

javascript - 如何从目录加载随机文件

d3.js - 使用 d3.js 将 x 轴移动到图表上的坐标 (0,0)

javascript - 嵌套选择不更新

javascript - 无法将 CSS 样式应用于 SVG 文本元素

javascript - AngularJs 计数器可计数到特定目标数

javascript - Axios - 在不实际发出请求的情况下获取带有参数的 url

javascript - 按空格分割字符串

javascript - 比较 JavaScript 中不同格式的日期

javascript - 将 for 循环的值赋予函数 d3

javascript - d3 单击事件句柄(对象)