Kiedy mój zakres czasu jest wystarczająco duży, pokazuje daty. Jeśli jednak zakres czasu nie jest wystarczająco duży, pokazuje tylko godziny, na przykład:
To mniej niż idealne ... gdyby w tym przypadku pokazywała datę i godzinę, byłoby świetnie. Czy ktoś wie jak?
Highcharts automatycznie spróbuje znaleźć najlepszy format dla bieżącego zakresu zoomu. Dzieje się tak, jeśli xAxis ma typ 'datetime'. Następnie obliczana jest jednostka aktualnego powiększenia, może to być:
druga
minuta
godzina
dzień
tydzień
miesiąc
rok
Ta jednostka jest następnie używana do znalezienia formatu etykiet osi. Domyślne wzory to:
Może to głupie pytanie, ale z ciekawości ... gdzie znalazłeś pozostałe kody dat? Odniesienie pokazuje tylko domyślne wzory, które dołączyłeś.
buddyp450
20
Znalezione po przeczytaniu źródła, sprawdź metodę dateFormat tutaj: Utilities.js
eolsson
2
Aby dodać do tego, domyślny wzorzec dla bieżącego poziomu powiększenia zawiera również klawisz „milisekunda”.
Cory
1
Wielkie dzięki za to - dokumentacja odnosi się do "dateFormat", ale nie jest jasne, czy oczekują, że będziesz odnosić się do metody w kodzie źródłowym, czy w innym miejscu w dokumentacji. Zaoszczędziło mi to sporo czasu :)
Jon
Ustawiłem to tak jak w twoim przykładzie, ale nadal pokazuje milisekundy, gdy podaję mu dane częściej niż raz na sekundę. Czy masz pojęcie, dlaczego?
Sprawdź tę próbkę z interfejsu API Highcharts.
Wymień to
Z tym
Spójrz tutaj na
dateFormat()
funkcję.Zobacz także - tickInterval i pointInterval
źródło
dateFormat
akceptowanych kodów dat : github.com/highcharts/highcharts/issues/…Piszesz w ten sposób-:
sprawdź także inny format daty i godziny
http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats
źródło