Javascript 如何为直方图中大于特定值的值着色

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调用了值。我想给大于某个值的值着色

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);
});


希望这有帮助

请举例说明。。。。