2014-06-24 7 views
6

Mam ułożony wykres słupkowy ze współużytkowaną etykietą narzędzi i próbuję pobrać sumę stosów do etykiety narzędziowej za pomocą właściwości footerFormat.Highcharts: pokaż sumę stacków we współużytkowanej etykiecie, za pomocą właściwości footerFormat

Myślałem, że to będzie prosta właściwość, do której mogę uzyskać dostęp, ale nie znalazłem dla niej opcji, która działa.

Czy brakuje mi czegoś oczywistego, czy muszę to robić w bardziej skomplikowany sposób?

(jeśli Tęskniłam duplikat to pytanie, proszę dać mi znać, że nie był w stanie znaleźć konkretne okoliczności szukam do osiągnięcia omówione)

Kod:

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

Masz na myśli coś takiego: http://jsfiddle.net/robertrozas/AeLFZ/9/ – Hackerman

+0

Coś w tym stylu, ale muszę zachować "shared: true" i "useHTML: true", i potrzebuję go, aby był częścią footerFormat, a nie pointFormat. – jlbriggs

+1

Inne rozwiązanie: http://jsfiddle.net/robertrozas/AeLFZ/11/ – Hackerman

Odpowiedz

9

footerFormat nie posiada Dostęp do ${point}. Zobacz footerFormat documentation.

Jeśli chcesz mieć stolik z każdego punktu używając shared:true trzeba użyć funkcji formatyzatora takiego:

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

Doskonała odpowiedź @Abraham .... + 1 – Hackerman

+3

Dzięki. Wydaje się dość niemądre, aby nie mieć dostępu do takich informacji w żadnej części etykiety narzędzi i aby nie mieć gotowego dostępu do sumy stosu z dowolnego punktu, gdy jest taka ładna konfiguracja z właściwościami nagłówka, punktu i stopki. Czujesz się jak krok wstecz, aby użyć formatyzatora i uruchomić pętlę ... – jlbriggs

+0

To mieści się w obiekcie 'tooltip:' w interfejsie API wysokich wykresów. Używaj również 'shared: true,' i 'useHTML: true,' w tym samym obiekcie. – Jess

Powiązane problemy