时间序列流,删除x轴上的am / pm和24小时格式

草裙舞

我正在尝试以秒精度绘制时间序列,格式为HH:mm:ss(24小时/天),如一下js docs中所述

问题是我声明的格式没有得到遵守,我尝试了Chartsjs文档中的几种组合,但没有一种有效。

Vue.component('line-chart', {
  extends: VueChartJs.Line,
  mixins: [VueChartJs.mixins.reactiveProp],
  props: ['chartData', 'timeFormat'],
  data() {
    return {
      options: {
        animation: false,
        scales: {
          xAxes: [{
            type: 'time',
            distribution: 'series',
            time: {
            	format: this.timeFormat
            }
          }],
        },
      }
    }
  },
  mounted () {
    this.renderChart(this.chartData, this.options);
  }
})

var vm = new Vue({
  el: '.app',
  data() {
    return {
      chart: {},
      timeFormat: 'HH:mm:ss',
      timeout: null,
      len_data: 20
    }
  },
  created () {
    this.change_data();
  },
  methods: {
    change_data: function() {
      this.chart = this.fillData();
      this.timeout = setTimeout(this.change_data, 1000);
    },
    fillData () {
      return {
          labels: this.get_labels(),
          datasets: [{
            fill: false, // line
            pointRadius: 2, // line
            borderWidth: 2, // line
            borderColor: "rgba(25, 25, 125, 1)",
            data: this.get_nums(0),
            label: "Points"
          }]
        }
    },
    get_labels()  {
    	return Array.from({length: this.len_data}, (v, k) => this.newDateString(this.len_data-k)); 
    },
    get_nums(data_idx) {
      if(typeof this.chart.datasets !== 'undefined') {
      	this.chart.datasets[data_idx].data.shift(); // removing the first item
        this.chart.datasets[data_idx].data.push(this.getRandomInt()); // adding a new one
       	return this.chart.datasets[data_idx].data;
      }
      return Array.from({length: this.len_data}, (v, k) => this.getRandomInt());
    },
    getRandomInt () {
      return Math.floor(Math.random() * (50 - 5 + 1)) + 5
    },
    newDateString(seconds) {
      return moment().subtract(seconds, 's').format(this.timeFormat);
    }
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.2.6/vue.min.js"></script>
<script src="https://unpkg.com/[email protected]/dist/vue-chartjs.full.min.js"></script>

<div class="app">
  <line-chart :chart-data="chart" :time-format="timeFormat" width="400" height="200"></line-chart>
  <br>{{chart.datasets[0].data}}
</div>

我想我快要到了,我敢打赌我只是缺少了一些细节。
JSFIDDLE:https://jsfiddle.net/ue1x8079/

谢拉克

您链接用来指定此结构以格式化时间轴标签Chart.js文档

time: {
    displayFormats: {
        quarter: 'MMM YYYY'
    }
}

因此插入您的格式将变成:

time: {
    displayFormats: {
        second: this.timeFormat
    }
}

您说得对,只是一个很小的细节!更新的小提琴)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

支持AM / PM时间格式以及24小时

24小时格式的日期和时间

将24小时格式的时间字符串(带有am / pm)转换为24小时格式的UTC

以12小时格式(9am-6pm)而非24小时显示营业时间

缺少某些时间时,使用strptime格式化时间,并将AM / PM转换为24小时格式

如何将日期和时间为AM / PM的字符串转换为24小时mysql时间戳格式

如何以 24 小时格式更改 PM 或 AM 的时间

使用R编程将包含AM / PM的因子转换为24小时HH:MM时间格式

如何使用 Pandas (Python) 将时间从 24 小时格式转换为 12 小时格式 (AM/PM)

使用JavaScript将24小时制转换为带AM和PM的12小时制

将时间从AM / PM转换为24小时

iOS时间为24小时格式

以AM / PM以12小时格式显示当前时间

将日期时间字符串(3/24/2017 10:00:00 PM)转换为(3-24-2017 22:00:00)配置单元,即从12小时格式转换为24小时格式

比较日期时间和24小时格式的字符串时间

需要的时间是下午pm,而不是24小时制

如何对包含12小时(AM / PM)格式的值的熊猫时间序列进行排序

在PHP中将24小时格式小时转换为12小时格式时间

如何使用 AM 和 PM 将 24 小时添加到 12 小时时间戳?

将具有 12 小时 AM/PM(无零填充)的 DateTime 转换为 24 小时格式

Postgres时间00和24小时

如何在 Flutter 中以 24 小时格式显示当前时间,而不使用 AM 或 PM?

在 C# 中将 AM/PM 时间转换为 24 小时格式?

将时间戳X轴图表格式设置为仅24小时

设备时间为24小时格式时应用崩溃

将12小时hh:mm AM / PM转换为24小时hh:mm

将24小时制转换为12小时制并跟踪AM / PM

12小时的Javascript时钟显示24时间,错误的AM / PM

如何将24小时格式时间转换成12小时格式?