2014-06-24 11 views
6

Tôi có một biểu đồ thanh xếp chồng lên nhau, với một tooltip chia sẻ, và tôi đang cố gắng kéo tổng số stack vào tooltip thông qua các footerFormat bất động sản.Highcharts: hiển thị tổng số stack trong tooltip chia sẻ, thông qua footerFormat property

Tôi nghĩ đây sẽ là một tài sản đơn giản mà tôi có thể truy cập, nhưng tôi đã không tìm thấy một tùy chọn cho nó hoạt động.

Tôi có thiếu điều gì đó hiển nhiên hay tôi phải làm điều này một cách phức tạp hơn?

(nếu tôi đã bỏ lỡ một bản sao của câu hỏi này, xin vui lòng cho tôi biết, tôi đã không thể tìm thấy những hoàn cảnh cụ thể Tôi đang tìm kiếm để thực hiện thảo luận)

mã:

tooltip : { 
    shared   : true, 
    useHTML   : true, 
    headerFormat : 
     '<table class="tip"><caption>Group {point.key}</caption>' 
     +'<tbody>', 
    pointFormat  : 
     '<tr><th style="color: {series.color}">{series.name}: </th>' 
     +'<td style="text-align: right">${point.y}</td></tr>', 
    footerFormat : 
     '<tr><th>Total: </th>' 
     +'<td style="text-align:right"><b>${???}</b></td></tr>' 
     +'</tbody></table>' 
} 
+0

Bạn có nghĩa là một cái gì đó như thế này: http://jsfiddle.net/robertrozas/AeLFZ/9/ – Hackerman

+0

Một cái gì đó như thế, nhưng tôi cần phải giữ lại 'chia sẻ: true' và 'useHTML: true', và tôi cần nó là một phần của footerFormat chứ không phải là pointFormat. – jlbriggs

+1

Một giải pháp khác: http://jsfiddle.net/robertrozas/AeLFZ/11/ – Hackerman

Trả lời

9

footerFormat không có acces vào ${point}. Xem footerFormat documentation.

Nếu bạn muốn có một bảng với mỗi điểm sử dụng shared:true bạn cần phải sử dụng chức năng định dạng như thế này:

formatter: function() { 
      var tooltip='<table class="tip"><caption>Group '+this.x+'</caption><tbody>'; 
      //loop each point in this.points 
      $.each(this.points,function(i,point){ 
       tooltip+='<tr><th style="color: '+point.series.color+'">'+point.series.name+': </th>' 
         + '<td style="text-align: right">'+point.y+'</td></tr>' 
      }); 
      tooltip+='<tr><th>Total: </th>' 
      +'<td style="text-align:right"><b>'+this.points[0].total+'</b></td></tr>' 
      +'</tbody></table>'; 
      return tooltip; 
     }  

http://jsfiddle.net/AeLFZ/10/

+0

Câu trả lời hay nhất @Abraham .... + 1 – Hackerman

+3

Cảm ơn. Có vẻ khá ngớ ngẩn khi không có quyền truy cập vào thông tin đó trong bất kỳ phần nào của chú giải công cụ và không có quyền truy cập sẵn vào tổng số ngăn xếp từ bất kỳ điểm nào, khi có thiết lập tốt đẹp với các thuộc tính định dạng đầu trang, điểm và chân trang. Nó cảm thấy như một bước lùi để sử dụng trình định dạng và chạy một vòng lặp ... – jlbriggs

+0

Điều này đi trong đối tượng 'tooltip:' trong API biểu đồ cao. Cũng sử dụng 'shared: true,' và 'useHTML: true,' trong cùng một đối tượng. – Jess

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