【问题标题】:How can you color each circle in the D3 circle pack layout如何为 D3 圆圈包布局中的每个圆圈着色
【发布时间】:2013-01-23 20:06:45
【问题描述】:

以下是 d3js 中的包布局示例:

http://bl.ocks.org/4063530

是否可以控制单个圆圈的颜色?

这是另一个带有颜色的包布局示例:

http://bl.ocks.org/4063269

你能帮我理解第二张图表中气泡的颜色是如何分配的吗?

【问题讨论】:

  • 你真的尝试过修改它吗?

标签: javascript d3.js colors circle-pack


【解决方案1】:

你可以添加属性fill来改变颜色:

node.append("圆") .attr("r", function(d) { return d.r; }) .style("填充", function(d){ return d.color; });

在上面的示例中,假设您的数据包含color 字段。

【讨论】:

  • 这对我有用: .style("fill", function(d) { return color(d.packageName); });不确定这是否与您的建议不同,即使用 .style 与 .attr
  • 事实上"fill"是在css样式表中设置的,因此,它是一种样式,所以你必须用style命令覆盖而不是attr。我相应地编辑了我的答案。
  • 我相信您必须首先为节点设置颜色。我的解决方案包括此处的更改: function recurse(name, node) { if (node.children) node.children.forEach(function(child) { recurse(node.name, child); }); else classes.push({ packageName: name, className: node.name, value: node.size, color: node.color }); } stackoverflow.com/questions/11788105/…
猜你喜欢
  • 2013-12-19
  • 2012-08-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-08
相关资源
最近更新 更多