Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

284
Visualizações
Chart.js time interval as bars

Is it possible to make a time interval using Chart.js? As far as I'm concerned, using stacked bars chart is the closest I can get but not quite what I want

What I'm trying to achieve is this time interval

Here's the code

    const data = {
      labels: ['Mon', 'Tue', 'Wed' ],
      datasets: [{
        label: 'Bars',
        data: [
            [14, 16],
            [17, 22],
            [13, 19],
        ],
        backgroundColor: [
          'rgba(255, 26, 104, 0.2)',
        ],
        borderColor: [
          'rgba(255, 26, 104, 1)',
        ],
        borderWidth: 2,
        borderSkipped: false
      }]
    };

    const config = {
      type: 'bar',
      data,
      options: {
        indexAxis: 'y',
        scales: {
          x: {
            min: 12,
            max: 26,
            ticks: {
                stepSize: 1,
                callback: (val, index) => {
                    return `${String(val % 24).padStart(2, '0')}:00`
                }
            },
          },
          y: {
            beginAtZero: true
          }
        }
      }
    };

    const myChart = new Chart(
      document.getElementById('myChart'),
      config
    );
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

You can use horizontalBar for your bar type. Example:

{
  type: 'horizontalBar',
  data: {
  labels: ["a","b","c","d","e","f","g"],
  datasets: [{
    axis: 'y',
    label: 'My First Dataset',
    data: [[5,65], [30,90], [20,80], [15,71], [20,56], [24,55], [15,70]],
    fill: false,
    backgroundColor: [
      'rgba(255, 99, 132, 0.2)',
      'rgba(255, 159, 64, 0.2)',
      'rgba(255, 205, 86, 0.2)',
      'rgba(75, 192, 192, 0.2)',
      'rgba(54, 162, 235, 0.2)',
      'rgba(153, 102, 255, 0.2)',
      'rgba(201, 203, 207, 0.2)'
    ],
    borderColor: [
      'rgb(255, 99, 132)',
      'rgb(255, 159, 64)',
      'rgb(255, 205, 86)',
      'rgb(75, 192, 192)',
      'rgb(54, 162, 235)',
      'rgb(153, 102, 255)',
      'rgb(201, 203, 207)'
    ],
    borderWidth: 1
  }]
},
  options: {
    indexAxis: 'y',
     scales: {
            x: {
                stacked: true
            },
            y: {
                stacked: true
            }
        }
  }
}

here the result

I hope can help you.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda