Javascript 饼图颜色不变

Javascript 饼图颜色不变,javascript,html,angularjs,canvasjs,Javascript,Html,Angularjs,Canvasjs,我正在用画布做一个饼图。我在自定义代码中使用它,在自定义代码中,我从xml文件中的服务器获取响应,然后使用它填充图表值。我的问题是,我无法更改图表的颜色,这意味着即使对于不同的标签,整个饼图的颜色仍然相同 我还使用了调试器,当颜色值发生变化时,我仍然无法解决它 color: scopes.chart_color_value[i] 我正在使用另一个配置文件来存储颜色值 这是我的自定义代码 $scope.loadChartValue = function (data, scopes) {

我正在用画布做一个饼图。我在自定义代码中使用它,在自定义代码中,我从xml文件中的服务器获取响应,然后使用它填充图表值。我的问题是,我无法更改图表的颜色,这意味着即使对于不同的标签,整个饼图的颜色仍然相同

我还使用了调试器,当颜色值发生变化时,我仍然无法解决它

  color: scopes.chart_color_value[i]
我正在使用另一个配置文件来存储颜色值

这是我的自定义代码

$scope.loadChartValue = function (data, scopes) {
    scopes.data_id = [];
    scopes.legend_text = "";
    scopes.inner_chart_data = [];

    for (var i = 0; i <= data.length; i++) {
        var arrayvalue = data[0].data[i]._attr
        if (existsInArray(scopes.data_id, arrayvalue.label._value) == false) {
            scopes.data_id.push(arrayvalue.label._value);
        }
    }
        scopes.inner_chart_data = [];
        var i=1;
        for (var j = 0; j < data[0].data.length; j++) {
            scopes.inner_chart_data.push({ label: data[0].data[j]._attr.label._value, y: data[0].data[j]._attr.value._value });

        scopes.dataset.push(
                   {
                       type: "pie",

                       markerType: "circle",
                       markerSize: scopes.markersize,
                       color: scopes.chart_color_value[i],
                       showInLegend: false,
                       name: scopes.legend_text,
                       dataPoints: scopes.inner_chart_data
                   }
           );
           i++;
        }

}
$scope.loadChartValue=函数(数据,范围){
scopes.data_id=[];
scopes.legend_text=“”;
scopes.inner_chart_data=[];

对于(var i=0;i,您似乎正在创建2个数据系列,而不是1个包含2个数据点的数据系列。当在数据系列级别设置颜色时,整个饼图将变为单色,因此请尝试在数据点级别更改它

下面的代码应该可以正常工作

for (var j = 0; j < data[0].data.length; j++) {
    scopes.inner_chart_data.push({ label: data[0].data[j]._attr.label._value, y: data[0].data[j]._attr.value._value, color: scopes.chart_color_value[i], });
    i++;
}
scopes.dataset.push(
    {
       type: "pie",
       markerType: "circle",
       markerSize: scopes.markersize,                       
       showInLegend: false,
       name: scopes.legend_text,
       dataPoints: scopes.inner_chart_data
    }
);
for(var j=0;j
你能展示一下你是如何初始化作用域的吗?图表颜色值?@PawełReszka它正在通过作用域。我们可以通过作用域访问任何声明的变量你是正确的…我知道了,谢谢你的帮助