Quando meu intervalo de tempo é grande o suficiente, ele mostra datas. No entanto, quando o intervalo de tempo não é grande o suficiente, ele mostra apenas horas, assim:
Isso não é o ideal ... se pudesse mostrar uma data e hora nesse caso, seria ótimo. Alguém sabe como?
Os Highcharts tentarão encontrar automaticamente o melhor formato para o alcance atual do zoom. Isto é feito se o eixo x tem o tipo 'datetime'. Em seguida, a unidade do zoom atual é calculada e pode ser uma das seguintes:
segundo
minuto
hora
dia
semana
mês
ano
Esta unidade é usada para encontrar um formato para os rótulos dos eixos. Os padrões padrão são:
Se você deseja que o dia faça parte dos rótulos no nível "hora", altere a dateTimeLabelFormatsopção para esse nível incluir %dou %e. Estes são os padrões disponíveis:
% a: dia da semana curto, como "seg".
% R: Dia da semana prolongado, como segunda-feira.
% d: dia do mês com dois dígitos, de 01 a 31.
% e: dia do mês, de 1 a 31.
% b: mês curto, como 'Jan'.
% B: mês longo, como 'janeiro'.
% m: número do mês com dois dígitos, de 01 a 12.
% y: dois dígitos no ano, como 09 em 2009.
% Y: ano com quatro dígitos, como 2009.
% H: horas de dois dígitos no formato 24h, de 00 a 23.
% I: horas de dois dígitos no formato 12h, de 00 a 11.
% l (letras minúsculas L): horas no formato 12h, de 1 a 11.
Pode ser uma pergunta estúpida, mas por curiosidade ... onde você encontrou o restante desses códigos de datas? A referência mostra apenas os padrões padrão que você incluiu.
precisa saber é o seguinte
20
Encontrado lendo a fonte, verificar o método dateFormat aqui: Utilities.js
eolsson
2
Apenas para adicionar isso, o padrão padrão para o nível de zoom atual também inclui a tecla 'milissegundo'.
Cory
1
Muito obrigado por isso - a documentação refere-se a "dateFormat", mas não está claro se eles esperam que você consulte o método na fonte ou em algum outro lugar nos documentos. Me salvou um monte de tempo :)
Jon
Eu o configurei como no seu exemplo, mas ele ainda mostra milissegundos quando eu forneço dados com mais frequência do que uma vez por segundo. Tens alguma ideia do porquê?
Confira este exemplo na API Highcharts.
Substitua este
Com isso
Veja aqui sobre a
dateFormat()
função.Veja também - tickInterval e pointInterval
fonte
dateFormat
aceita: github.com/highcharts/highcharts/issues/...Você escreve assim:
também verifique se há outro formato de data e hora
http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats
fonte