2016-07-07 13 views
7

Mam 2 rodzaje wykresów na pasku i linii. To jest mój widok (w Slim):Nie można przeanalizować koloru na wykresie liniowym (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" 
    ) 

Moja opcja kolory:

$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)" 
    }]; 

Moim problemem jest to, że nie mogę zmienić kolor wyświetlania danych na składzie wykresie. A kiedy chcę przesunąć kursor na punkt - mam błąd:

Błąd niezamierzony: nie można zanalizować koloru z obiektu ["rgba (151,187,205,1)", "rgba (220,220,220,1)" ... ] Co zrobiłem źle?

+0

można spróbować umieścić pełną repro przypadku korzystania z tego [szablon] (http://jsbin.com/cucoqe/1/edit?html,js,output)? – jtblin

+7

Miał ten sam problem, gdy przekazałem bezpośrednio tablicę danych. Zamiast tego należy go przekazać w innej tablicy, np. data = "[[1, 2, 3]]". Nie mogę stwierdzić, czy masz taki sam problem, ponieważ nie uwzględniłeś definicji danych. – tom

Odpowiedz

40

Proszę się upewnić, że dane znajdują się na podwójnej tablicy.

Np

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

dzięki za to :) – vin

+0

hehe :-D Zmarnowałem prawie dzień :-P Witam :) –

+0

miejsce na, dzięki! – camara90100

9

I był przy chart.js i miał taką samą wyjątek przy najechaniu punktu. Kiedy umieściłem moje dane w podwójnej tablicy, wykres nic nie pokazywał.

Rozwiązanie: Jeśli wykres jest typu "linia", nie ma tablicy kolorów dla tła i obramowania, ale pojedyncze kolory. Ten pracował dla mnie:

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

To był mój błąd, dzięki –

Powiązane problemy