【问题标题】:ChartJS shows date, but not time, when displaying labels in time axisChartJS 在时间轴上显示标签时显示日期,但不显示时间
【发布时间】:2016-10-04 18:11:25
【问题描述】:

我正在尝试创建一个 x 轴代表时间的折线图。我将覆盖 ChartJS 的 displayFormats 以确保在每个标签上显示完整的时间戳,而且它也是我期望的格式。

这是我的代码:

var chart = new Chart($('#myChart'), {
  type: 'line',
  data: {
    labels: ['2016-09-05T09:29:06', '2016-10-04T09:29:06'],
    datasets: [{
      label: 'foo',
      data: [1, 4]
    }]
  },
  options: {
      scales: {
        xAxes: [{
          type: 'time',
          time: {
            displayFormats: {
              millisecond: 'DD/MM/YYYY HH:mm:ss',
              second: 'DD/MM/YYYY HH:mm:ss',
              minute: 'DD/MM/YYYY HH:mm:ss',
              hour: 'DD/MM/YYYY HH:mm:ss',
              day: 'DD/MM/YYYY HH:mm:ss',
              week: 'DD/MM/YYYY HH:mm:ss',
              month: 'DD/MM/YYYY HH:mm:ss',
              quarter: 'DD/MM/YYYY HH:mm:ss',
              year: 'DD/MM/YYYY HH:mm:ss'
            },
            tooltipFormat: 'DD/MM/YYYY HH:mm:ss'
          }
        }]
      }
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.3.0/Chart.bundle.js"></script>
<canvas id="myChart" width="400" height="400"</canvas>

请注意,sn-p 中的错误似乎是由 SO 引入的,与手头的问题无关。

在与上面的图表交互时,您会注意到工具提示显示了格式正确的时间戳。所以,我相信我建议的格式化程序是正确的,并且信息在 ChartJS 中可用。

问题:

x 轴仅显示标签的日期。标签的时间部分被删除并表示为零。为什么?如何显示全时?

【问题讨论】:

    标签: javascript momentjs chart.js


    【解决方案1】:

    我是个白痴。

    当将 x 轴表示为时间刻度时,标签从尝试到 1:1 对应于数据点到日期/时间的广泛概括。 ChartJS 已四舍五入到最近的一天,因此时间为 00:00:00。

    【讨论】:

      猜你喜欢
      • 2011-10-30
      • 2015-06-19
      • 1970-01-01
      • 2015-06-12
      • 1970-01-01
      • 2016-12-16
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多