javascript - 颜色编码平行坐标

标签 javascript csv d3.js

我已经有了一个代码平行坐标图,一切正常。现在我尝试使用颜色对平行坐标可视化进行颜色编码,但有些问题。在数据集( http://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data )中,我有不同的 Wine 品种名称(第一列是类别标识符(1-3)),但在图中仅绘制一种颜色。有人可以帮助我吗?

图表:

enter image description here

enter code here
    // CREATE A COLOR SCALE
var color = d3.scale.ordinal()
  .domain(['1','2','3'])
  .range(['red','blue','green'])

d3.csv("wine.csv", function(error, wine) {

  // Extract the list of dimensions and create a scale for each.
  x.domain(dimensions = d3.keys(wine[0]).filter(function(d) {
    return d != "name" && (y[d] = d3.scale.linear()
        .domain(d3.extent(wine, function(p) { return +p[d]; }))
        .range([h, 0]));
  }));

  // Add grey background lines for context.
  background = svg.append("g")
      .attr("class", "background")
    .selectAll("path")
      .data(wine)
    .enter().append("path")
      .attr("d", path);

  // USE THE COLOR SCALE TO SET THE STROKE BASED ON THE DATA
  foreground = svg.append("g")
      .attr("class", "foreground")
    .selectAll("path")
      .data(wine)
    .enter().append("path")
      .attr("d", path)
      .attr("stroke", function(d) {
        var species = d.name.slice(0,d.name.indexOf(' '));
        return color(species);
      })

最佳答案

一旦您已经定义了 domainrange 的颜色序数比例,您只需根据 d.name:

.attr("stroke", function(d) {
    return color(d.name);
  });

关于javascript - 颜色编码平行坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37029254/

相关文章:

javascript - 如何直接从 htmlparser2 获取 js 上下文?

java - 用双引号将 CSV 行引起来/创建自定义 main 方法

javascript - 如何绘制 D3 条形图,其中 x 轴为月/年,天为月之间的间隔

svg - 如何在 D3 中使用 svg 文件作为图像源

javascript - 相对于 jQuery/Js 中的内部数据之一对数组进行排序

JavaScript:为什么 .forEach 不起作用?

javascript - AngularJS 拒绝的 promise 不会为 $q.all() 调用 onRejection

excel - 在保持编码的同时使用 Perl 将 XLSX 转换为 CSV

php - 翻译 magento 形式

javascript - 无法读取未定义的属性 'force'(简单 D3 网络图)