Uso Chart.js para trazar un gráfico de líneas. Mi eje x es una serie temporal . Sin embargo, tengo marcas superpuestas debido a los datos del fin de semana.
¿Hay alguna forma de evitar la superposición de ticks? Usé "autoskip: true" pero parece que no funciona.
Así es como se ven mis configuraciones:
x: { parsing: false, type: "timeseries", time: { displayFormats: { second: "HH:mm", minute: "HH:mm", hour: "HH:mm", day: "MMM d", }, tooltipFormat: "d MMM HH:mm", }, grid: { display: false, }, ticks: { autoskip: true, }, },Y así es como se ve la superposición:
Puede lograr lo que está buscando escribiendo una función de devolución de llamada que verifique si el value es un día de fin de semana
new Date(Date.parse(value)).getDay() == 1 || new Date(Date.parse(value)).getDay() == 2 Si lo es, simplemente no lo devolvemos. De lo contrario, devolvemos el valor sin cambios.
Así es como debería verse su configuración:
x:{ type: 'timeseries' time:{ unit:'day', }, ticks:{ callback: function(value){ //if weekend dont return the tick label if(new Date(Date.parse(value)).getDay() == 1 || new Date(Date.parse(value)).getDay() == 2 ) return return value } } }