javascript - 如何在 D3.js 中创建 CSV 条目的唯一列表?

标签 javascript csv d3.js visualization data-visualization

我有一个 CSV 文件,如下所示:

Category,Value
category1,162
category1,151
category2,124
category1,135
category2,315

我想创建一个专有的无序列表的类别(没有重复的类别),所以该列表应如下所示:

<ul>
  <li>category1</li>
  <li>category2</li>
</ul>

数组很大,所以速度应该很快。 这是我到目前为止所拥有的(将 CSV 的某些部分显示为散点图):

  d3.csv("data.csv", function(error, data) {
    data.forEach(function(d) {
    d.Value = +d.Value;
  });

svg.selectAll(".dot")
  .data(data)
  .enter().append("circle")
  .attr("class", "dot")
  .attr("r", 1)
  .attr("cx", function(d) { return x(d.Value); })
  .attr("cy", 10);

除了 svg 之外,创建类别列表的最佳方式是什么?

最佳答案

您可以简单地使用类别构建另一个数组:

var categories = [];
data.forEach(function(d) {
  d.Category = Category;
  d.Value = +Value;
  if(categories.indexOf(d.Category) == -1) categories.push(d.Category);
});

// etc

d3.select("body").append("ul").selectAll("li")
  .data(categories)
  .enter().append("li")
  .html(function(d) { return d; });

关于javascript - 如何在 D3.js 中创建 CSV 条目的唯一列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19940341/

相关文章:

javascript - 合并具有相同键的对象

javascript - 异步加载在这种情况下不起作用

python - 如何在 Google Colab 中读取 csv 到数据框

javascript - dc.js:设置具有宽域的分类条形图 X 轴

javascript - 使用 D3 选择函数在 HTML 布局中正确对齐 SVG

javascript - 想要做类似的事情 nytimes :Facebook offering in D3

javascript - 单击第一个图像时允许加载第二个图像,同时保持 WR.CSS 样式。

javascript - Firefox 中 .click() 方法的替代方法

php - 在 PHP 中解析 CSV 文件

python - 如何读取大型 csv 文件的特定行