2012-02-13 30 views
5

Tôi gặp khó khăn khi dữ liệu hiển thị bên trong biểu đồ Flot với trục x đóng vai trò là dòng thời gian. Dưới đây là một bản sao viết tắt của tệp JSON của tôi:Bảng xếp hạng Flot các vấn đề về thời gian trục x ... AARGHHH

{ 
    "label": "ServiceReport", 
    "data": [[1328983200, 53], [1328986800, 53], [1328990400, 60]] 
} 

Tôi đã theo các hướng dẫn trên trang Flot API, cũng như this one on stackoverflow

mà không cần bất kỳ may mắn.

Khi sửa đổi trục x, điều này sẽ làm biểu đồ hiển thị tốt, nhưng trục x bị trống.

xaxis: { mode: "time", minTickSize: [1, "hour"]} 

này hiển thị 8 qua 8 giá trị (không đúng theo tập tin dữ liệu), nhưng không có dữ liệu đồ thị:

xaxis: { mode: "time", minTickSize: [1, "hour"], 
       min: (new Date("2000/01/01")).getTime(), 
       max: (new Date("2000/01/02")).getTime() 

      } 

Về cơ bản, tôi chỉ muốn hiển thị giờ (thực sự định dạng bất kỳ: 5 : 00, 5 SA, không quan trọng) trên trục x và có trục y tương quan với Giá trị dịch vụ. Có 24 tổng thời gian trong mỗi tệp dữ liệu (giá trị dữ liệu của một ngày).

Bất kỳ trợ giúp nào từ bạn Chuyên gia về Flot và JavaScript/jQuery sẽ được đánh giá cao !!!

Trả lời

3

đầu tiên cho thời gian để hiển thị, sử dụng:

xaxis: { mode: "time",minTickSize: [1, "hour"],timeformat: "%H:%I:%S"} 

tôi đã có vấn đề tương tự với dữ liệu JSON, gây ra bởi một tập tin mã hóa JSON xấu. Bạn có chắc chắn rằng tệp JSON của bạn thực sự là tệp JSON không? Hãy thử một cái gì đó ike đó để kiểm tra nó (với jquery ví dụ):

$.getJSON('yourJSONpage.php', 
    function(data) { 
     testData=data.pop(); 
     alert(testData[0]); 
}); 

điểm cuối, dấu thời gian của bạn là không đúng, đúng tem thời gian là như thế "1328983200000" không thích điều đó "1328983200", nếu bạn sử dụng PHP để tạo dữ liệu JSON của bạn, hãy đảm bảo rằng bạn thực hiện điều gì đó tương tự như vậy cho các ngày:

$hour=mktime($h+1,$i,$s,$m,$d,$y)*1000; 
+0

Đó là con dấu thời gian mà tôi thấy ... – Ryley

+0

Ok, do đó, vấn đề là về dấu thời gian này: * 1000 nó trong trang JSON của bạn và nó sẽ hoạt động tốt hơn. Và kiểm tra câu trả lời của tôi :-) – Valky

+0

Nó hoàn toàn là dấu thời gian, nó muốn nó trong mili giây :). Cảm ơn bạn đã hỗ trợ! – mynameisneo

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