簡體   English   中英

餅圖顏色不變

[英]Pie chart color not changing

我正在使用canvas.js制作餅圖。 我在自定義代碼中使用它,在該代碼中我從服務器獲取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++;
        }

}

這樣來

看來您正在創建2個數據系列,而不是使用2個DataPoints創建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, 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
    }
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM