2013-02-03 35 views
5

Tôi dường như không thể tìm ra cách đặt khoảng thời gian đánh dấu chính xác.
Cần phải có dấu tích hàng giờ trên trục X.
Dữ liệu dựa trên phút.Khoảng thời gian đánh dấu Highchart

Javascript:

$(function() { 
    var chart; 
    $(document).ready(function() { 
     chart = new Highcharts.Chart({ 
      chart: { 
       renderTo: 'container', 
       type: 'spline' 
      }, 
      title: { 
       text: 'Temperature Today' 
      }, 
      xAxis: { 
       type: "datetime", 
       categories: time, 
       dateTimeLabelFormats: { 
        day: '%h' 
       }, 
       minTickInterval: 24 * 36000000 * 1000, 
      }, 
      yAxis: { 
       title: { 
        text: 'Temperature' 
       }, 
       minorGridLineWidth: 0, 
       gridLineWidth: 0, 
       alternateGridColor: null 
      }, 
      tooltip: { 
       formatter: function() { 
         return ''+ 
         Highcharts.dateFormat('%e. %b %Y, %H:00', this.x) +': '+ this.y; 
       } 
      }, 
      plotOptions: { 
       spline: { 
        lineWidth: 4, 
        states: { 
         hover: { 
          lineWidth: 5 
         } 
        }, 
        marker: { 
         enabled: false, 
         states: { 
          hover: { 
           enabled: true, 
           symbol: 'circle', 
           radius: 5, 
           lineWidth: 1 
          } 
         } 
        }, 
       } 
      }, 
      series: [{ 
       name: 'Asen', 
       data: temp 
      }] 
      , 
      navigation: { 
       menuItemStyle: { 
        fontSize: '6px' 
       } 
      } 
     }); 
    }); 

}); 

dữ liệu mảng:

temp = [-4.39,-4.39,-4.33,-4.33,-4.33,-4.33,-4.33] 
time = [1359910725000,1359910786000,1359910848000,1359910908000,1359910968000,1359911028000,1359911089000,1359911150000] 
+1

xem http://stackoverflow.com/questions/11470433/highcharts-set-regular-intervals-on-xaxis –

+0

Đã thử rằng, vẫn không hoạt động: tickInterval: 24 * 3600000 * 1000 và đặt dateTimeLabelFormats: thành% H % M – HyperDevil

Trả lời

14

Trước hết, loại bỏ các tài sản 'loại' trên Xaxis, điều này không có ý nghĩa trên trục datetime. Lưu ý rằng trục thời gian được dựa trên mili giây, do đó khoảng thời gian một giờ được biểu thị là 3600 * 1000. Hãy xem API highcharts, tickInterval

sử dụng cấu hình này cho xAxis.

xAxis: { 
     type: "datetime",  
     dateTimeLabelFormats: { 
      day: '%H' 
     }, 
     tickInterval: 3600 * 1000 
}, 

Xem bản thử nghiệm làm việc theo số .

+0

Tôi phải thay đổi% H thành% H:% M để thực hiện 00 đến 00:00 – HyperDevil

3

Bạn nên sử dụng tickInterval với giá trị: 3600 * 1000

Các vấn đề liên quan