2014-07-20 17 views
7

W Highcharts są demos i articles podczas ładowania dużych zestawów danych w Highcharts.Ładowanie kilku dużych zbiorów danych w Highcharts

Jesteśmy świadomi, że żadna z dzisiejszych przeglądarek nie jest w stanie tego zrobić, jeśli dane staną się zbyt duże. Zapoznaj się z tym article, sugeruje użycie agregacji i separacji tabel do ładowania danych do HighCharts, ale po prostu nie sądzę, że rozwiązanie pasuje do mojej potrzeby.

Używam mysql do przechowywania moich danych i wielu tabel. Dane do wykreślenia w Highcharts są oparte na szeregach czasowych, co oznacza, że ​​dane są raz dziennie.

Muszę załadować wykres z kilkoma zestawami serii tych danych (bazując na kryterium), a dane nie mogą być agregowane do miesiąca, ponieważ muszą być wyświetlane tylko w trybie dziennym. Oprócz tego muszę ustawić pierwszy widok wykresu jako All.

Powód nie agregowania danych, ponieważ użytkownik chce zobaczyć dzienne zmiany. Czasami są nieregularne dane, a agregacja nie jest najlepszą opcją. Dane do załadowania pochodzą z roku 1980

Jaka jest najlepsza strategia lub technika do załadowania tych danych do HighCharts?

+2

Brzmi jak zadanie dla ajax dynamiczne ładowanie do mnie. –

+0

tak.ajax oznacza asynchronicznie – Muhaimin

+3

Dobra robota za odpowiedź na czyjś komentarz. –

Odpowiedz

1

Czy próbowałeś ładować dane dzienne? Jeśli masz punkt danych na każdy dzień w ciągu ostatnich 45 lat, to tylko 16 000 punktów. Niezależnie od tego, zacznę od upewnienia się, że ładowanie wszystkiego jest zbyt duże w przypadku wysokogatunkowych, a jeśli tak, to rozważ skrypt dynamicznej agregacji, w którym powiększenie o wartość przekraczającą próg, powiedzmy 5 lat, uruchamia zestaw danych do agregatu ustawionego na tydzień.

To mój potencjał rozwiązanie:

Załaduj wykres z pełnym zestawem rozdzielczość danych, tygodniowo zestaw kruszywo, a może za miesiąc zestawie. Następnie ustawiasz detektor zdarzeń na liczbie punktów w bieżącym widoku. Kiedy osiągnie określony próg, przerysujesz do agregacji.

Tak naprawdę nie utracisz szansy na zobaczenie drastycznych wydarzeń w konkretnym dniu, ponieważ agregacja 7 dni nadal będzie wykazywać wystarczająco duży szczyt. Użytkownik może następnie powiększyć i zobaczyć bardziej szczegółowe dane. Czterdzieści pięć lat codziennych danych zmniejsza się do kilku tysięcy punktów.

4

Mówisz, że codziennie masz 35 lat danych. Dla mnie jest to < 13 000 punktów. A potem masz wykres, na przykład o szerokości 600 pikseli. Oznacza to, że masz 20 punktów na 1 piksel. Mówisz, że agregacja jest zła, ponieważ użytkownik musi zobaczyć prawdziwe dane. Pozwól mi zapytać, jak użytkownik zobaczy te punkty, kiedy będzie miał 20 z nich w 1px? Może się starzeję, ale nie będę w stanie dostrzec, że te punkty są naprawdę dobre, po prostu "tłusta ścieżka". Porównaj te przykłady: http://jsfiddle.net/Fusher/4ytzuv7o/1/

Wystarczy wyłączoną dataGrouping w drugim przykładzie:

dataGrouping: { 
    enabled: false 
} 

Gdy zoom-in w pierwszym przykładzie, dostaniesz prawdziwe dane i tak.

Jeśli naprawdę nie możesz użyć funkcji dataGrouping, to co z innym rozwiązaniem? Wyłącz nawigatora i przycisk „Wszystkie”, aby użytkownik będzie mógł powiększać tylko w określonych zakresach, na przykład: http://jsfiddle.net/Fusher/4ytzuv7o/3/

$('#container').highcharts('StockChart', { 
    rangeSelector: { 
     inputEnabled: false, 
     buttons: [{ 
      type: 'month', 
      count: 1, 
      text: '1m' 
     }, { 
      type: 'month', 
      count: 3, 
      text: '3m' 
     }, { 
      type: 'month', 
      count: 6, 
      text: '6m' 
     }, { 
      type: 'ytd', 
      text: 'YTD' 
     }, { 
      type: 'year', 
      count: 1, 
      text: '1y' 
     }], 
     selected: 0 
    }, 
    navigator: { 
     enabled: false 
    }, 
    series: [{ 
     name: 'AAPL', 
     data: data, 
     dataGrouping: { 
      enabled: false 
     } 
    }] 
}); 
+0

Demo, które masz, to tylko jedna seria. Jak około 16 punktów za sześć serii? Po prostu nie sądzę, że Highchart będzie w stanie sobie z tym poradzić. Spróbuję ponownie doradzić mojemu użytkownikowi. Chcą użyć wykresu do analizy danych dotyczących bezpieczeństwa tamy. Każde doświadczenie na wyświetlaczu wizualizuje dane dla pola środowiska? – Muhaimin

+0

Mimo to, posiadanie tak dużej liczby punktów jest złym pomysłem, wykres nie jest w ogóle używany, porównaj: http://jsfiddle.net/Fusher/4ytzuv7o/4/ i http://jsfiddle.net/Fusher/4ytzuv7o/ 5 /. Myślę, że rozwiązanie z włączonym paskiem przewijania jest najlepsze dla twojego przypadku. –

Powiązane problemy