Javascript 如何为直方图中大于特定值的值着色
我使用d3绘制了一个直方图,因为我使用json调用了值。我想给大于某个值的值着色Javascript 如何为直方图中大于特定值的值着色,javascript,html,d3.js,Javascript,Html,D3.js,我使用d3绘制了一个直方图,因为我使用json调用了值。我想给大于某个值的值着色 d3.json('stk.json', function (data) { // just to have some space around items. data = $.each(data.stackoverflow,function(i,stack){ return {bucket: stack.x1, N: stack.y
d3.json('stk.json', function (data) {
// just to have some space around items.
data = $.each(data.stackoverflow,function(i,stack){
return {bucket: stack.x1, N: stack.y};
});
x.domain(data.map(function (d) { return d.x1; }));
y.domain([0, d3.max(data, function (d) { return d.y; })]);
svg.append("g")
.attr("class", "axis")
.attr("transform", "translate(0, "+(height-pad)+")")
.call(xAxis);
svg.append("g")
.attr("class", "axis")
.attr("transform", "translate("+(left_pad-pad)+", 0)")
.call(yAxis);
svg.selectAll('rect')
.data(data)
.enter()
.append('rect')
.attr('class', 'bar')
.attr('x', function (d) { return x(d.x1); })
.attr('width', x.rangeBand())
.attr('y', height-pad)
.transition()
.delay(function (d) { return d.x1*20; })
.duration(800)
.attr('y', function (d) { return y(d.y); })
.attr('height', function (d) { return height-pad - y(d.y); })
.style("fill", function(d) { return color(d.y); });
});
有人能帮我一下吗。你的答案就在这张纸上
.style(“填充”,函数(d){返回颜色(d.y);})代码>
只需在函数的一侧提供您的逻辑,并确保您返回适当的颜色,例如,让我们假设您希望5以上的所有条都是红色
.style(“填充”,函数(d){
返回d.y>5?“#ff0000”:颜色(d.y);
});
希望这有帮助请举例说明。。。。