Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

256
Vistas
¿Cómo mostrar la etiqueta de tiempo específica en el eje x por Chart.js?

Estoy recopilando los datos de temperatura y humedad relativa todos los días. Quería mostrar estos datos con Chart.js y actualmente es posible mostrar todos mis datos. Pero me pregunto cómo mostrar la etiqueta de tiempo específica en el eje x de Chart.js .

ingrese la descripción de la imagen aquí

Como puede ver, el eje x está demasiado "lleno" con la etiqueta de tiempo. Busqué en la documentación de Chart.js e intenté agregar autoskip y autoskippadding pero no pudo mostrar la etiqueta de tiempo objetivo.

 xAxes: [{ ticks: { autoSkip: true, autoSkipPadding: 60 } }]

ingrese la descripción de la imagen aquí

Por lo tanto, como estos datos se recopilaron cada minuto y el tamaño de los datos es tan grande, ¿cómo puedo mostrar una etiqueta de tiempo específica solo en el eje x (00:00, 01:00, 02:00... y así sucesivamente) de modo que para evitar demasiado "lleno de gente"? Cualquier sugerencia es muy apreciada, ¡gracias!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede definir el eje x como un eje cartesiano de tiempo de la siguiente manera:

 scales: { x: { type: 'time', time: { parser: 'HH:mm:ss', unit: 'hour', displayFormats: { hour: 'HH:mm' }, tooltipFormat: 'D MMM YYYY - HH:mm:ss' } } }

Eche un vistazo a su código modificado a continuación y vea cómo funciona. Este código ahora usa chartjs-adapter-moment junto con moment . Siéntase libre de usar un adaptador diferente.

 $(function() { getXlsxData(); }); function getXlsxData() { var xlsxUrl = "https://script.google.com/macros/s/AKfycbw9PQRojIml3x5gnMMiKihnTh9aLODd86ankhoz0ETIu0a8tcVh1ZIc4R08hlw8nHF8pA/exec?id=1Bvzqyu_NvPdL-zsOShbKF5me2bjtVVWQCK9MDA2KW58&sheet=Today" var xlsxData = $.getJSON(xlsxUrl, function(data) { $.each(data.Today, function(i, el) { labels.push(el.Time); TodayTemperature.push(el.CurrentTemp); TodayRH.push(el.CurrentRH); }); load_chart(); }); } var labels = [], TodayTemperature = [], TodayRH = [] function load_chart() { var myChart = new Chart('alldata', { type: 'line', data: { labels: labels, datasets: [{ label: 'Temperature(°C)', fill: false, data: TodayTemperature, backgroundColor: 'rgb(255, 99, 132)', borderColor: 'rgb(255, 99, 132, 0.8)', borderWidth: 1, radius: 0, }, { label: 'Relative Humidity (%)', fill: false, data: TodayRH, backgroundColor: 'rgb(255, 159, 64)', borderColor: 'rgb(255, 159, 64, 0.8)', hidden: true, borderWidth: 1, radius: 0, }, ] }, options: { responsive: true, maintainAspectRatio: false, legend: { position: 'bottom', }, layout: { padding: { top: 35, right: 15, } }, scales: { x: { type: 'time', time: { parser: 'HH:mm:ss', unit: 'hour', displayFormats: { hour: 'HH:mm' }, tooltipFormat: 'D MMM YYYY - HH:mm:ss' } } } } }); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.7.0/chart.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.js"></script> <script src="https://cdn.jsdelivr.net/npm/chartjs-adapter-moment@1.0.0"></script> <canvas id="alldata" height="200"></canvas>

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda