Конвертировать секунду в подсказку - PullRequest
1 голос
/ 02 мая 2019

У меня есть график, созданный с помощью chart.js:

var config = {
  type: 'line',
  data: {
    labels: ["01/04/2019", "02/04/2019", "03/04/2019", "04/04/2019", "05/04/2019", "06/04/2019", "07/04/2019"],
    datasets: [{
      label: "Time in",
      backgroundColor: chartColors.red,
      borderColor: chartColors.red,
      data: [ 25500, 25900, 26500, 28000, 30000, 25500, 25900],
      fill: false,
    }, {
      label: "Time out",
      fill: false,
      backgroundColor: chartColors.blue,
      borderColor: chartColors.blue,
      data: [64800, 64950, 65000, 66000, 64800, 64800, 64950],
    }]
  },
  options: {
    showLines: false,
    responsive: true,
    title: {
      display: true,
      text: 'Chart.js Line Chart'
    },
    tooltips: {
      mode: 'label',
    },
    hover: {
      mode: 'nearest',
      intersect: true
    },
    scales: {
      xAxes: [{
        display: true,
        scaleLabel: {
          display: true,
          labelString: 'Date'
        }
      }],
      yAxes: [{
        display: true,

        ticks: {
          min: 0,
          reverse: true,
          userCallback: function(v) { return epoch_to_hh_mm_ss(v) },
          stepSize: 30 * 120
        },
        scaleLabel: {
          display: true,
          labelString: 'Time'
        }
      }]
    }
  }
};

Я передаю секунды, чтобы преобразовать их во времени позже с помощью этой функции:

function epoch_to_hh_mm_ss(epoch) {
  return new Date(epoch*1000).toISOString().substr(11, 5)
}

Работает нормально, толькопроблема, с которой я сталкиваюсь сейчас, состоит в том, что секунды внутри подсказок все еще остаются секундами.Есть ли способ преобразовать его во время?Здесь работает скрипка

1 Ответ

2 голосов
/ 02 мая 2019

Вы можете вносить изменения в свой формат всплывающей подсказки внутри функции обратного вызова, ниже вы можете найти самый простой пример:

tooltips: {
      callbacks: {
                label: function(tooltipItem, data) {
                  return 'Time: '+ new Date(tooltipItem.yLabel*1000).toISOString().substr(11, 5) 
                }
            }
    }

Замените это параметром всплывающей подсказки. Я обновил вашу скрипку , вы можете поиграть с ней и обновить функцию в соответствии с вашими требованиями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...