jquery - 使用c3js更改条形图中单个条形的颜色

标签 jquery c3.js

如何更改条形图中单个条形的颜色。

    var chart = c3.generate({
    data: {
        columns: [
            ['data1', 30, 20, 50, 40, 60, 50]

        ],
        type: 'bar',
        colors: {
            data1: '#ff0000'
        },
        color: function (color, d) {

            return d.id && d.id === 'data1' ? d3.rgb(color).darker(d.value / 120) : color;
        }
    }
});

在这里,所有值大于 45 的条形图应为绿色,而低于 45 的条形图应为红色。

最佳答案

只需使 data.colors.data1 成为一个函数,就像这样

var chart = c3.generate({
    data: {
        columns: [
            ['data1', 30, 20, 50, 40, 60, 50]

        ],
        type: 'bar',
        colors: {
            data1: function(d) {
                return (d.value >= 45) ? '#00ff00': '#ff0000';
            }
        }
    },
    legend: {
       show: false
    },
    // take care of color in tooltip
    tooltip: {
        contents: function (d, defaultTitleFormat, defaultValueFormat, color) {
            color = function() {
                return (d[0].value >= 45) ? '#00ff00' : '#ff0000';
            };
            return chart.internal.getTooltipContent.call(this, d, defaultTitleFormat, defaultValueFormat, color)
        }
    }
});

顺便说一句,我假设 45 是绿色的。

<小时/>

fiddle - http://jsfiddle.net/vc1Lq1um/

关于jquery - 使用c3js更改条形图中单个条形的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32557212/

相关文章:

jquery - 如何使用 css 在同一位置显示 2 个元素?

javascript - 找出两个 JSON 请求何时完成

javascript - 不要在 C3.js 圆环图上显示动画

d3.js - 使用 vue.js 加载远程数据时 c3.js 图表不更新

javascript - 收到错误 "c3"未定义 no-undef

angularjs - 导入 C3 和 D3 时出现 Typescript 编译错误

jquery - 如何在 bootstrap 中使用 jquery 将整行作为链接

jquery - 如何使用 Jquery 制作多个内容弹出窗口

javascript - jQuery ajax() 使用成功、错误和完成与 .done()、.fail() 和 always()

javascript - require ("d3") 有时返回 3 而不是对象