2016-07-07 86 views
7

我有兩種類型的圖表欄和線。這是我的觀點(在超薄):無法解析折線圖(angular-chart.js)中的顏色

canvas#line.chart.chart-line(
     ng-if="stateStats == 'global'" 
     chart-data="data" 
     chart-labels="labels" 
     chart-colours="colours" 
    ) 
    canvas#bar.chart.chart-bar(
     ng-if="stateStats != 'global' && data.length != 0" 
     chart-data="data" 
     chart-labels="labels" 
     chart-options="optionsBarChart" 
    ) 

我的顏色選項:

$scope.colours = [{ 
    fillColor: "rgba(151,187,205,0.2)", 
    strokeColor: "rgba(151,187,205,1)", 
    pointColor: "rgba(151,187,205,1)", 
    pointStrokeColor: "#fff", 
    pointHighlightFill: "#fff", 
    pointHighlightStroke: "rgba(151,187,205,0.8)" 
    }]; 

我的問題是,我不能改變顯示數據的顏色上線圖。當我想要移動光標 - 我有錯誤:

未捕獲的錯誤:無法從對象[「rgba(151,187,205,1)」,「rgba(220,220,220,1)」解析顏色... ]我做錯了什麼?

+0

你可以嘗試使用這個[模板]發佈一個完整的攝製情況下(http://jsbin.com/cucoqe/1/edit?html,js,output)? – jtblin

+7

當我直接傳遞數據數組時遇到同樣的問題。相反,它應該在另一個數組中傳遞,例如data =「[[1,2,3]]」。 雖然您沒有包含數據定義,但無法判斷您是否有同樣的問題。 – tom

回答

40

請確保您的數據是雙數組。

例:

data = [ 
    [10, 20, 30, 20, 10] 
]; 
+0

謝謝你:) – vin

+0

hehe :-D我浪費了將近一天:-P並歡迎:) –

+0

現貨,謝謝! – camara90100

9

我用chart.js之和懸停在一個點時,有相同的例外。當我將數據放在雙數組中時,圖表沒有顯示任何內容。

解決方案: 如果圖表的類型爲'line',則不會爲背景和邊框使用一組顏色,而是使用單一顏色。 這爲我工作:

var chart = new Chart(chartCanvas, { 
    type : 'line', 
    data : { 
     labels : dates, 
     datasets : [{ 
       label : 'Error', 
       data : errorCounts, 
       backgroundColor : 'rgba(255, 99, 132, 0.2)', 
       borderColor : 'rgba(255,99,132,1)', 
       borderWidth : 1 
      }, { 
       label : 'Ok', 
       data : okCounts, 
       backgroundColor : 'rgba(75, 202, 72, 0.2)', 
       borderColor : 'rgba(117,239,95,1)', 
       borderWidth : 1 
      } 
     ] 
    }, 
    options : { 
     responsive : true, 
     scales : { 
      yAxes : [{ 
        ticks : { 
         beginAtZero : true 
        } 
       } 
      ] 
     } 
    } 
}); 
+0

這是我的錯誤,謝謝 –