HighCharts在xAxis上显示日期时间格式

问题描述 投票:6回答:3

我试图在高图表的x轴上以日/周/月格式显示dateTime我将数据格式化为x utc日期时间格式和y(幅度)。我的印象是我只需要这样做就可以了

Highcharts.chart('container', {
  title: {
    text: 'Chart with time'
  },
  xAxis: {
    type: 'datetime',
    dateTimeLabelFormats: {
      day: "%e. %b",
      month: "%b '%y",
      year: "%Y"
    }
  },
  series: [{
    data: [
      [1493326164493, 100],
      [1493326194018, 120]
    ]
  }]
});

我究竟做错了什么?我已经为我的方案发布了一个小提琴链接

https://jsfiddle.net/dLfv2sbd/

javascript datetime highcharts
3个回答
11
投票

axis.dateTimeLabelFormats的工作方式略有不同。首先,Highcharts试图猜测数据的“最佳单位”是什么,例如如果是一天,它将根据dateTimeLabelFormats的day属性对其进行格式化。

如果您只想格式化轴标签,可以使用axis.labels.format并指定如下格式:

xAxis: {
  type: 'datetime',
  labels: {
    format: '{value:%Y-%b-%e}'
  },

例如:https://jsfiddle.net/dLfv2sbd/1/


3
投票

您可以尝试使用格式化日期

 xAxis: {
   labels: {
    formatter: function(){

      return moment(new Date(this.value)).format('DD'); // example for moment.js date library

      //return this.value;
    },
},

您也可以查看文档http://api.highcharts.com/highcharts/xAxis.labels.formatter


0
投票

你也可以尝试这个 -

  1. {值:%Y-%b-%e%l:%M%p}
labels: {
      format: '{value:%Y-%b-%e %l:%M %p }'
},

输出 - 2017年4月27日晚上8:49

  1. 格式:'{值:%Y-%b-%e%l:%M}'
labels: {
          format: '{value:%Y-%b-%e %l:%M %p }'
},

输出 - 2017年4月27日8:49

  1. 格式:'{value:%Y-%b-%e}'
 labels: {
              format: '{value:%Y-%b-%e}'
 },

产量 - 2017年4月27日

  1. 格式:'{值:%Y-%b-%e%H:%M}'
labels: {
      format: '{value:%Y-%b-%e %H:%M}'
},

输出2017年4月27日20:49


0
投票

简单的年 - 月 - 日格式:

 format: '{value:%Y-%m-%e}'
© www.soinside.com 2019 - 2024. All rights reserved.