【问题标题】:Show time in HH:MM on Xaxis Highcharts在 Xaxis Highcharts 上以 HH:MM 显示时间
【发布时间】:2017-08-09 13:54:02
【问题描述】:

我正在使用 PHP、Javascript 和 Highcharts 库。

我需要在 Y 轴上打印温度的演变,在 X 轴上打印 HH:MM 的时间。

var "$fecha" 的格式是这样的:

2017 年 8 月 9 日星期三 14:47:01 GMT+0200(Hora de verano 浪漫)

var "$dateProc" 的格式是这样的:

1502283181000

我的代码是这样的:

<script src="https://code.jquery.com/jquery.js"></script>
           <!-- Importo el archivo Javascript de Highcharts directamente desde su servidor -->
      <script src="http://code.highcharts.com/stock/highstock.js"></script>
      <script src="http://code.highcharts.com/modules/exporting.js"></script>

      <script>
      myChart = new Highcharts.chart('container', {
              title: {
                  text: 'Temperatura in the Office'
              },
              xAxis: {
                  type: 'datetime',
                  dateTimeLabelFormats: {
                        minute: '%H:%M',
                        hour: '%H:%M'
                  }
              },
              yAxis: {
                  title: {
                      text: 'TEMPERATURA'
                  }
              },
              series: [{
                  name: 'TIEMPO',
                  data:(
                    function(){
                      var data = [];
                      <?php  for($i = count($rawdata)-1; $i>=0;$i--){ ?>
                        var $fecha = new Date("<?php echo $rawdata[$i]->fechaHora;?>");
                        $dateProc = $fecha.getTime();

                      data.push(['$dateProc',<?php echo $rawdata[$i]->temperatura;?>]);
                      <?php } ?>
                    return data;
                  })()
              }]
            });
   </script>

结果如下:

graphic result

我的问题是在 Xaxis 中不显示 HH:MM 中的分隔符信息。

有人知道我做错了什么吗? 因为时间打印的方式很奇怪

【问题讨论】:

  • 您确定您的日期格式正确吗?使用您的图表将 PHP 替换为一些示例日期,它可以按照您的预期工作:jsfiddle。我建议您在将其返回数据函数以验证数据之前先执行console.log(data)
  • 是的,你是对的!我正在使用字符串格式的日期并查看您的示例,我发现您使用的是整数等数据。谢谢大家。你解决了我的问题!
  • 太好了,我会写一个简短的答案,以便将来有人搜索。

标签: javascript php datetime highcharts


【解决方案1】:

在您的代码中,您执行以下操作

 data.push(['$dateProc',<?php echo $rawdata[$i]->temperatura;?>]);

这意味着数组中的数据最终看起来像这样:

['time', temperature]

当它实际上应该是这样的时候

[time, temperature]

也就是说,时间应该是integer,而不是string

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多