2013-06-17 10 views
5

Próbuję zrobić wykres liniowy, ale Wykresy Google przechowuje rzucając ten błąd, gdy próbuję dodać wiersz danych:addRows wykresów Google() nie chce zaakceptować tablicę

Error: Every row given must be either null or an array. @ ...corechart.I.js:162

Oto kilka przykładowych kolumn, które wypróbowałem. Ustawienie kolumn działa dobrze i wyświetla pusty wykres, o ile nie dodaję żadnych wierszy.

var data = new google.visualization.DataTable(); 
     data.addColumn('number', 'timestamp'); 
     data.addColumn('number', 'JPY'); 
     data.addColumn('number', 'EUR'); 
     data.addColumn('number', 'SEK'); 
     data.addColumn('number', 'HKD'); 
     data.addColumn('number', 'CHF'); 
//So far so good 

Teraz, bez względu na to, jak staram się przekazać tablicę z addRows(), pojawia się błąd. Znalazłem podobne pytania tutaj, ale wszystkie one zawiodły z powodu zniekształconego kodu lub wykorzystały inną metodologię, aby przekazać kod. Więc tutaj jest uproszczony przypadek testowy, który wciąż zawodzi.

data.addRows([1,2,3,4,5,6]); //Breaks the chart 

Próbowałem również:

var myrow = new Array(1,2,3,4,5,6); 
data.addRows(myrow); 

nie widzę w jaki sposób mogę zrobić to bardziej dosłownie każdą tablicę. Też zdałem dwie naraz, ponieważ cały przykładowy kod wydaje się przekazywać wiele wierszy.

data.addRows([1,2,3,4,5,6], 
      [7,8,9,10,11,12]); 

Nadal nie działa.

Odpowiedz

15

Łatwy. Metoda addRows() oczekuje, że udostępnisz tablicę tablic, a nie pojedynczą tablicę dla jednego wiersza, a nie oddzielne parametry dla każdego wiersza. Zobacz the example w dokumentach. Mocowanie swój przykład, powinno to wyglądać tak:

data.addRows([[1,2,3,4,5,6], [7,8,9,10,11,12]]); 

Można również wolą korzystać z metody addRow(), która zajmuje tylko jeden wiersz naraz.

+0

Dzięki! addRow() jest również wygodniejszy dla mojego przypadku, dzięki za to też. – Joseph

Powiązane problemy