【发布时间】:2016-01-25 06:10:51
【问题描述】:
我正在使用d3 为对象数组生成一个HTML 表。我想根据值范围使用渐变级别为背景着色。
我为没有渐变的列使用了 category10 域比例颜色。无论如何将最小最大值指定为d3 并设置渐变。这是我得到的结果,我需要根据值使用不同颜色的梯度和分类发动机类型制作发动机扭矩的线性值
数据数组是这样的
[{ EngineType="Piston", torque=10, rpm=1}, { EngineType="Piston", torque=10, rpm=1}]
Javascript 代码
var color = d3.scale.category10()
.domain([d3.min(data), d3.max(data)]);
var rows = d3.select('tbody')
.selectAll('tr')
.data(data, function(d) { return d[config.key]})
var entertd = rows.enter()
.append('tr')
.selectAll('td')
.data(function(d) { return d3.map(d).values() })
.enter()
.append('td')
.attr('bgcolor',color)
entertd.append('span')
var td = rows.selectAll('td')
.style({"padding": "0px 10px 0px 10px"})
.data(function(d) { return d3.map(d).entries() })
.attr('class', function (d) { return d.key })
td.select('span')
.text(function(d) {
return d.value
})
fiddle中的类似场景
【问题讨论】:
-
你能为这个问题创建一个 sn-p 或 bin 吗?这样帮助你会容易得多..
-
@MoshFeu 我在小提琴jsfiddle.net/7WQjr/1032复制了类似的场景@
标签: javascript d3.js