Cuando mi rango de tiempo es lo suficientemente grande, muestra fechas. Sin embargo, cuando el rango de tiempo no es lo suficientemente grande, solo muestra las horas, así:
Esto es menos que ideal ... si pudiera mostrar una fecha y hora en este caso, sería genial. Alguien sabe como?
Highcharts intentará encontrar automáticamente el mejor formato para el rango de zoom actual. Esto se hace si el xAxis tiene el tipo 'datetime'. A continuación, se calcula la unidad del zoom actual, que podría ser una de las siguientes:
segundo
minuto
hora
día
semana
mes
año
Esta unidad se utiliza luego para encontrar un formato para las etiquetas de los ejes. Los patrones predeterminados son:
Si desea que el día sea parte de las etiquetas de nivel de "hora", debe cambiar la dateTimeLabelFormatsopción para ese nivel incluir %do %e. Estos son los patrones disponibles:
% a: día de la semana corto, como "lunes".
% A: día de la semana largo, como "lunes".
% d: día del mes de dos dígitos, del 01 al 31.
% e: día del mes, del 1 al 31.
% b: mes corto, como 'enero'.
% B: mes largo, como 'enero'.
% m: número de mes de dos dígitos, del 01 al 12.
% y: año de dos dígitos, como 09 para 2009.
% Y: año de cuatro dígitos, como 2009.
% H: horas de dos dígitos en formato de 24 horas, de 00 a 23.
% I: horas de dos dígitos en formato de 12 horas, de 00 a 11.
% l (L minúscula): Horas en formato de 12 h, 1 a 11.
Puede ser una pregunta estúpida pero por curiosidad ... ¿dónde encontraste el resto de estos códigos de fecha? La referencia solo muestra los patrones predeterminados que incluyó.
buddyp450
20
Encontrado leyendo la fuente, verifique el método dateFormat aquí: Utilities.js
eolsson
2
Solo para agregar a esto, el patrón predeterminado para el nivel de zoom actual también incluye la tecla 'milisegundos'.
Cory
1
Muchas gracias por esto: la documentación se refiere a "dateFormat", pero no está claro si esperan que se refiera al método en la fuente o en otro lugar de los documentos. Me salvó un montón de tiempo :)
Jon
Lo configuré como en su ejemplo, pero todavía muestra milisegundos cuando le doy datos más de una vez por segundo. ¿Tienes idea de por qué?
Consulte esta muestra de la API de Highcharts.
Reemplazar esto
Con este
Mira aquí sobre la
dateFormat()
función.Vea también - tickInterval y pointInterval
fuente
dateFormat
acepta: github.com/highcharts/highcharts/issues/…Escribes así:
también verifique otro formato de fecha y hora
http://api.highcharts.com/highcharts#xAxis.dateTimeLabelFormats
fuente