javascript - 基于 c3.js 中值的条形图颜色

标签 javascript html d3.js graph c3.js

我在 c3.js 中有以下条形图 (here's a fiddle) :

var chart = c3.generate({

  data: {
    x: 'Letter',
    columns:
    [
      ['Letter', 'A','B','C','D'],
      ['value', 25,50,75,100]
    ],

    type: 'bar',

        colors: {
        value: '#FF0000'
    },

  },
  axis: {
    x: {
      type: 'category'
    }
  },
  legend: {
    show: false
  }
});

这会将所有条设置为红色。我想要的是条形的颜色 this gradient从 FF0000 到 10FF00,我相信这只是将 4096 添加到颜色的十进制值的增量。

我希望渐变从 50 开始到 100 结束(也就是说,绿色及以下的任何东西都将是纯红色 FF0000,而 100 将是绿色 10FF00)。

我试图关注 this example根据值设置 c3.js 图形上数据点的颜色。在示例中,data3 的值随着其值的增加而变暗。我一直在尝试修改 color: function (color, d),但我似乎无法让它做任何我想让它做的事情。

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

我不确定您在 color: function 中做了什么,但这是设置它的正确方法。关于你想要的梯度,它不能通过仅仅增加它的十六进制值来实现,因为从黄色到绿色需要减少该值。以下示例从红色变为黄色:

var chart = c3.generate({
  data: {
    x: 'Letter',
    columns:
    [
      ['Letter', 'A','B','C','D'],
      ['value', 25,50,75,100]
    ],
    type: 'bar',
    colors: {
      value: function(d) {
        return '#'+(0xff0000+(d.value-25)*256*3).toString(16);
      }
    },
  },
  axis: {
    x: {
      type: 'category
    }
  },
  legend: {
    show: false
  }
});

fiddle

关于javascript - 基于 c3.js 中值的条形图颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37843555/

相关文章:

php - 将 Google 电子表格转换为 HTML 表格

javascript - D3.js 使用嵌套数组从 tsv 移动到 json

javascript - 使用 React 应用程序时出现错误 - 无法读取未定义的属性 'photo'

javascript - 浏览器中的子弹图 - 替代 d3.js? (具有良好的浏览器支持)

javascript - 链接i DIV,将 "geturl"事件交给浏览器

javascript - 如何在 d3 V3 中使用定时器?

animation - 如何将 d3.js 动画导出到矢量帧以创建 AfterEffects 序列?

javascript - 使一个元素可见,使其他 49 个元素不可见

javascript - 浏览器图像上的像素到米的转换

html - 当文本变长时,它会改变我的形式,也很难在正确的位置安装 div