2016-07-07 89 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

这是我的错误,谢谢 –