2013-03-15 13 views
5

Używam wykresu liniowego google do wykreślania danych według znacznika czasu (oś x).sortowanie danych na osi X w google line chart

Mój problem polega na tym, że oś X nie jest automatycznie sortowana według wykresów google.

np. "15:45:23 678" Punkt danych, który powinien być pierwszy na wykresie, jest wyświetlany na # 2. Jeśli umieściłem to na pierwszym miejscu, to jest w porządku. Oznacza to, że wykres Google nie dba o dane i wyświetla je tak, jak je widzi.

Problem polega na tym, że mój zestaw danych jest ogromny, a jego sortowanie w oparciu o dane osi X zajmuje dużo czasu. czy jest jakaś flaga na wykresie liniowym, która może ją sortować w przeglądarce?

poniżej jest przykładowe dane:

['x', 'c1', 'c2', 'c3', 'c4', 'c5', 'c6'], 

['15:48:13 744', 0, 0, 0, 0, 0, 0], 

['15:45:23 678', 5, 17, 36, 3957, 20, 21], 

['15:48:18 749', 0, 0, 0, 0, 0, 0] 
+0

Wartości powodu na swoich osi x nie są klasyfikowane jest, że wartości są ciągi, więc zakłada używasz wartości dyskretnych zamiast ciągłych wartości. Zamiast tego możesz użyć typów timeofday, które będą wartościami ciągłymi, aby zostały posortowane. – dlaliberte

Odpowiedz

9

można użyć następujących funkcji sortowania podstawowa DataTable:
data.sort([{column: 0}]);. Kolumna 0 wskazuje oś X.
To spowoduje posortowanie danych w kolejności asc, do stosowania malejąco data.sort([{column: 0, desc: true}]);

Możesz być także zainteresowany funkcją getSortedRows(sortColumns).

Więcej informacji na temat tych funkcji można przeczytać tutaj o
https://developers.google.com/chart/interactive/docs/reference#DataTable_sort
https://developers.google.com/chart/interactive/docs/reference#DataTable_getSortedRows

+0

Gdzie ten kod się znajduje? –