d3.js - D3 : passing object in style method is not working

标签 d3.js

我使用 D3 进行练习。但是,我在将对象传递给 .style() 方法时遇到问题:

var myStyles = [
  '#268BD2',
  '#BD3613',
  '#D11C24',
  '#C61C6F',
  '#595AB7',
  '#2176C7'
];

下面这段代码正在运行

d3.selectAll('.item') 
  .data(myStyles)
  .style('background',function(d){return d});

但是以下两个代码片段都不起作用

d3.selectAll('.item')
  .data(myStyles)
  .style({'background':function(d){return d}});

d3.selectAll('.item')
  .data(myStyles)
  .style({'color':'white','background':function(d){return d}});

请解释一下这里出了什么问题。

最佳答案

您可以使用d3-selection-multi应用样式和属性中的对象。

首先,您必须引用迷你库:

<script src="https://d3js.org/d3-selection-multi.v0.4.min.js"></script>

然后,您必须使用styles,而不是style:

.styles({'color':'white','background':function(d){return d}});

您可以看到在此 fiddle 中运行的代码,其中我使用一个对象来设置样式:https://jsfiddle.net/gerardofurtado/o54rtrqc/1/

对于属性,请使用 attrs 而不是 attr

这是API .

关于d3.js - D3 : passing object in style method is not working,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38453792/

相关文章:

javascript - 根据边缘厚度缩放箭头,并使其接触大小不同的节点的外边缘

javascript - 让 d3 time.scale 对象具有刻度并被量化

javascript - 在两列上传播 D3.js 图例

javascript - 使用 d3 画笔选择折线图中的元素

javascript - Exit() 不适用于 d3 组条形图

javascript - D3 图形布局 - 具有多个父级的树结构

python - 使用 python 和 networkx 的节点上的交互式标签

node.js - 未满足的对等依赖 D3.js 和 Angular 2

javascript - 减少 React/MERN Stack Bundle 的大小 - 主要是删除重复的 D3

javascript - 带动画文字的 D3 Canvas 地球仪