Highcharts:对数y轴,包括秒,分,小时和天

时间:2018-01-04 16:10:12

标签: javascript highcharts logarithm

我想在Highchart的图表的y-axis上显示时间值的数据。这些时间值可以从10秒到10天不等

目前我可以像这样设置y轴类型:

yAxis: {
  type: 'logarithmic'
}

得到一些看起来像这样的东西:

y-axis scale with just minutes

使用对数时间刻度的最佳方法是什么,但不是只显示分钟,显示秒,分,小时和天

类似:10秒30秒1分2分钟5分钟10分钟30分钟1小时2小时4小时8小时1天2天5天10天。我知道这并不是一个对数的进展,但你希望我能抓住我的漂移。

2 个答案:

答案 0 :(得分:1)

请参阅本主题的第一篇文章(官方Highcharts论坛):https://forum.highcharts.com/highstock-usage/chart-customisation-t39677/?hilit=logarithmic#p137385

我解释了如何处理连接对数轴和日期时间输入。

我简化了原始的演示并根据您的需要进行了调整:http://jsfiddle.net/kkulig/5Ldowjbr/

在这种情况下,x轴是对数(而不是y):

  yAxis: [{
    type: 'logarithmic',
    showFirstLabel: false,
    labels: {
      formatter: function() {
        return Highcharts.dateFormat("%Hh %Mm %Ss", this.value + baseline - timeOffset);
      }
    }
  }],

我还将日期的显示格式更改为%Hh %Mm %Ss,并将点的timestamp个素位重命名为miliseconds

答案 1 :(得分:0)

Moment.js救援:

yAxis: {
  type: 'logarithmic',
  labels: {
    formatter: function () {
      return moment.duration(this.value, 'minutes').humanize()
    }
  }
}