动态获取生成的条形颜色

Get generated bar colour dynamically

在ZingChart中有什么方法可以动态生成条形颜色吗? 在屏幕截图中,条形图中生成了两种颜色,我想获取条形图中使用的颜色列表。

html file

<zingchart id="timesheet-bar-chart" zc-values="barValues" zc-  json="myObj"></zingchart>

controller

$scope.myObj = {
  "type": "bar",
  "plot":{
    "stacked":true,
    "stack-type":"normal" /* Optional specification */
  },
 "scale-x":{
      "transform":{
        "type":"date",
        "all":"%d %M",
        "item": {
          "visible":false
        }
      },
     "values":$scope.bar_x_axis,
    },
  };

barValues 是一个整数值列表。

你可以这样设置颜色,

$scope.myJson = {
        'plot': {
        'styles': ['#yellow', 'red', 'blue']
      },
      'scale-x': {
        'values': ['white', 'red', 'pink']
      },
      'type': 'bar',
      'series': [{
        'text': 'Product History Color',
        'values': [2, 6, 8]
      }]
    }

DEMO

您可以自行指定颜色、字体等。

例如

scaleX: {
  labels: ['Facebook','Apple', 'Microsoft', 'Intel','Google', 'Amazon'],
  item: {
    fontFamily: "Roboto",
    fontSize: 14
  },
  lineColor: "#DDD",
  tick:{
    visible: false
  }
},

由于您的问题是询问如何获取条形颜色,而不是设置条形颜色。我觉得我的回答也很合适。

您可以使用图表中的 API 到 getobjectinfo

demo here

    $scope.myRender = {  
    events : {  
        complete : function(p) {  
            var info1 = zingchart.exec(p.id, 'getobjectinfo', {
              object : 'plot',
              plotindex: 0
          });
            var info2 = zingchart.exec(p.id, 'getobjectinfo', {
              object : 'plot',
              plotindex: 1
          });
          console.log(info1, info2);
        }  
    }  
} 

如果您对 $scope.myRender 变量感到困惑,您可以阅读有关 angular 指令的更多信息 here