【问题标题】:Can I define data point color with a function when using angular-chart?使用角度图时,我可以用函数定义数据点颜色吗?
【发布时间】:2016-05-03 18:21:26
【问题描述】:

https://github.com/GraFiddle/angular-chart

在 C3 库中有一个数据相关颜色的示例 (http://c3js.org/samples/data_color.html):

var chart = c3.generate({
    data: {
        ...,
        color: function (color, d) {
            // d will be 'id' when called for legends
            return d.id && d.id === 'data3' ? d3.rgb(color).darker(d.value / 150) : color;
        }
    }
});

所以我想我会添加一个color 函数:

dims = {
    dt: {
      axis: 'x',
      name: 'Date',
      displayFormat: '%H:%M:%S',
      dataType: 'datetime'
    }
  };

  // key is something like errorRate etc. 
  dims[key] = {
    axis: 'y',
    name: key,
    type: 'line',
    color: function(color, d) {
      return console.log(arguments);
    }
  };

但是颜色功能似乎被忽略了。有没有办法用这个库制作依赖函数的颜色?

【问题讨论】:

    标签: javascript angularjs d3.js c3.js angular-chart


    【解决方案1】:

    看起来它只是一个字符串,可以fork它来支持它并提交PR:

    回复:https://github.com/GraFiddle/angular-chart/blob/master/src/js/converter.js

       // set color
        if (angular.isString(dimension.color)) {
          configuration.data.colors[key] = dimension.color;
        }         
    

    【讨论】:

      【解决方案2】:

      我确实设法让它与角度图一起工作:

       # coffeescript
       graphOptions =  
         data: datapoints
         dimensions: dims
         chart:
           data:
             color: (color, d) ->
               if d.index? and data[d.index]?
                 return colors[data[d.index].status]
               else return color
      

      此函数将根据数据点的status 字段中的值从颜色哈希中返回值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-17
        • 1970-01-01
        • 2014-08-23
        • 2014-11-08
        • 1970-01-01
        • 1970-01-01
        • 2019-04-23
        • 2020-10-15
        相关资源
        最近更新 更多