2013-04-18 40 views
13

Vì vậy, tôi có một vài yêu cầu từ các nhà thiết kế của chúng tôi:Highcharts - Làm thế nào để lập trình chuyển đổi mục huyền thoại và xác định các mục được lựa chọn

1) Cho phép người dùng lựa chọn/bỏ chọn tất cả các mục huyền thoại qua nhấp chuột vào một liên kết bên ngoài bảng xếp hạng thùng đựng hàng. Điều này có nghĩa là tôi cần phải bật hoặc tắt tất cả các mục trong biểu đồ trên biểu đồ, bất kể nếu có bất kỳ mục nào hiện được chọn/bỏ chọn.

2) Xác định mục huyền thoại cụ thể nào được chọn (hoặc được bật) trong biểu đồ để chúng tôi có thể tạo biểu đồ khác từ các lựa chọn.

Tôi không thấy cách nào để thực hiện việc sử dụng API nên tôi đã tự hỏi liệu có ai đã đưa ra giải pháp khả thi cho một trong hai (hoặc cả hai).

Cảm ơn trước vì bất kỳ hướng dẫn nào.

Trả lời

20

Highcharts cho phép chúng tôi chuyển đổi trạng thái chú giải từ bên ngoài.

series[0].hide(); series[0].show(); được cung cấp bởi highcharts mà chúng tôi có thể sử dụng để triển khai chức năng bạn đã yêu cầu.

đây là một fiddle để bạn tham khảo http://jsfiddle.net/gfNYk/1/

2

loạt [i] .visible là tài sản

2

Nếu bạn có rất nhiều series, hide()show() có thể dẫn đến với hiệu suất rất kém. Hoặc bạn có thể sử dụng setVisible() trên mỗi chuỗi và vẽ lại() ở cuối.

$('#uncheckAll').click(function(){ 
     var chart = $('#container').highcharts(); 
     var series = chart.series; 
     for(i=0; i < chart.series.length; i++) { 
      series[i].setVisible(false, false); 
     } 
     chart.redraw(); 
    }); 

    $('#checkAll').click(function(){ 
     var chart = $('#container').highcharts(); 
     var series = chart.series; 
     for(i=0; i < chart.series.length; i++) { 
      series[i].setVisible(true, true); 
     } 
     chart.redraw(); 
    }); 

để xác định xem một loạt được chọn, bạn có thể sử dụng thuộc tính series.visible

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