2013-04-12 53 views
7

Tôi hiện đang tìm cách triển khai Highcharts JS vào ứng dụng của mình, sử dụng tháng làm danh mục trục x.Tự động tham gia thiếu khoảng trống dữ liệu trong Highcharts JS

Tuy nhiên, tôi có khoảng trống trong dữ liệu của mình và muốn biểu đồ tự động kết nối các khoảng trống.

Ví dụ: nếu tôi không có bất kỳ dữ liệu nào cho tháng 3, tôi muốn tháng 2 và tháng 4 kết nối với đường thẳng.

Sử dụng highcharts demo, tôi đã chỉnh sửa các dữ liệu để chứng minh những gì hiện đang xảy ra theo mặc định:

http://jsfiddle.net/kf26t/1/

data: [7.0, 10.0, null, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6] 

Như bạn thấy, có một break ở ranh giới giữa tháng hai và tháng tư .

Tôi đã xem xét xóa các tháng không có dữ liệu từ các danh mục, nhưng sau đó điều này sẽ cho kết quả sai lệch vì tháng 2 và tháng 4 sẽ cách nhau khoảng tháng 4 và tháng 5. Đại diện chính xác.

Nếu tôi để loại bỏ 4 tháng, đại diện không chính xác này được phóng đại:

http://jsfiddle.net/kf26t/2/

categories: ['Jan', 'Feb', 
        'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 

Giải pháp duy nhất tôi có thể nghĩ là để tính toán tỷ lệ trung bình giữa các tháng, nhưng tôi don' t muốn hiển thị trung bình.

Có cách nào tích hợp điền vào những khoảng trống này trong Highchart JS không? Nếu không, có một giải pháp neater cho những gì tôi đã đề nghị?


Ngoài ra, có cách nào tách riêng trục x dựa trên giá trị không? Vì vậy, nếu không có tháng ba, tháng hai và tháng tư xuất hiện khoảng cách 2 tháng đi.

Điều này cũng hữu ích khi các số nguyên là trục x. Ví dụ, nếu tôi có "1, 2, 10", tôi sẽ không muốn chúng được lan truyền đồng đều.

+0

Điều gì là sai với điều trung bình?Chắc chắn đó sẽ là vlaue Highcharts sẽ tự động hiển thị nếu nó điền vào những khoảng trống. Tôi đoán có lẽ bạn muốn nó mà không có một điểm di chuột sau đó? – musefan

+0

@musefan Đó là chính xác, dữ liệu được tạo trung bình, không được nhập. Do đó tôi không muốn nó trở thành một "mốc quan trọng". – Curt

+0

@musefan Xem bản chỉnh sửa mới nhất của tôi. Tôi không muốn hiển thị tháng ba như một danh mục nào cả và chỉ cần phân chia các danh mục xa hơn. – Curt

Trả lời

3

Đối với loại hành vi này Highstocks JS nên được sử dụng thay cho Highcharts JS.

data: [ 
       [Date.UTC(2013,  0, 1), 1], 
       [Date.UTC(2013, 1, 1), 2 ], 
       [Date.UTC(2013, 3,  1), 4], 
       [Date.UTC(2013, 4,  1), 5 ], 
       [Date.UTC(2013, 5, 1), 6 ], 
       [Date.UTC(2013, 6, 1), 7], 
       [Date.UTC(2013,  7,  1), 8], 
       [Date.UTC(2013,  8,  1),9], 
       [Date.UTC(2013, 9, 1), 10], 
       [Date.UTC(2013, 10, 1), 11], 
       [Date.UTC(2013, 11, 1), 12] 
      ] 

Live Demo:http://jsfiddle.net/q2kSf/

+0

lợi thế nào highstock có trên highcharts ở đây? – jlbriggs

-1

để tham khảo: type: 'spline' (xem Demo trực tiếp của Curt) đã thực hiện thủ thuật cho tôi.

function createChart() { 
var chartOptions = { 
    chart: 
    { 
    type: 'spline', 
     *//other options and stuff...* 
    } 
} 
} 

(i sửa đổi this file để che dấu thời gian chết cảm biến ngắn cho một dự án mâm xôi-pi)

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