2011-11-25 32 views
6

Tôi có một số dữ liệu mà trông như thế này:Vẽ giây, phút và giờ trên yAxis với Highcharts

min = "00:09" med = "03:11" có nghĩa là = "23:39" max = "12:40:26"

Tôi muốn có thể sử dụng các giá trị này làm datapoints nhưng tôi không chắc chắn cách vẽ chúng vì chúng không phải là số nguyên đơn giản. Lý tưởng nhất là tôi muốn có các nhãn trên trục Y hiển thị nội dung như 'giờ' hoặc nếu tôi sử dụng nhiều trục y thì có thể hiển thị 'giây' cho các giá trị 'phút', 'phút' cho 'trung bình' các giá trị và như vậy thích ứng với cửa sổ thời gian thích hợp.

Tôi không chắc liệu tôi có thể sử dụng các đối tượng datetime vì tôi chỉ có giá trị thời gian chứ không phải ngày.

Bất kỳ ý tưởng nào sẽ được đánh giá cao và cảm ơn trước.

Trả lời

9

Nếu thời gian mà bạn có là chuỗi tĩnh, bạn có thể chuyển đổi chúng thành một đối tượng datetime ...

//convert 'string' times into a timestamp (milliseconds) 
//so long as your string times are consistently formatted 
//e.g. "0:03:00" not "3:00" 
var t = Date.parse("1-1-1 " + yourTime) 

... Nhưng nếu bạn có thể biến chúng thành một giá trị mili giây ở tất cả, bạn nên tốt.

Sau đó sử dụng định dạng thời gian bình thường đối với trục y, và định dạng nó như bạn thích bằng cách sử dụng định dạng nhãn ngày ...

var chart = new HighChart({ 
    //... 
    yAxis: { 
     type: 'datetime', //y-axis will be in milliseconds 
     dateTimeLabelFormats: { //force all formats to be hour:minute:second 
      second: '%H:%M:%S', 
      minute: '%H:%M:%S', 
      hour: '%H:%M:%S', 
      day: '%H:%M:%S', 
      week: '%H:%M:%S', 
      month: '%H:%M:%S', 
      year: '%H:%M:%S' 
     } 
    } 
}); 
+0

Cảm ơn bạn đã trả lời của bạn, nó bây giờ hầu như trông khá. Vấn đề là bây giờ trên trục y tôi có giá trị tìm kiếm một cái gì đó như thế này 978307205000 ms. Điều này có ý nghĩa vì nó là số mili giây kể từ năm 1970 cho 1-1-1 mà tôi đang thêm vào giá trị của tôi. DateTimeLabelFormats có hoạt động không? – LCL

+0

Ok, tôi đã giải quyết nó bằng cách thêm mã này: var timeToSubtract = Date.parse ("1-1-1 00:00:00"); và sau đó thay vì đẩy 't' vào mảng tôi đã đẩy t - timeToSubtract. Cảm ơn – LCL

+0

Bạn sẽ điều chỉnh chú giải công cụ như thế nào để hiển thị các giá trị y trong cùng một định dạng? – panmari

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