Highcharts Prozentsatz der Gesamtsumme für einfaches Balkendiagramm

8

Ich habe eine einfache 1-Serie Balkendiagramm, wo jeder Balken einen Nennwert hat. Ich kann das gut mit den Datenbeschriftungen und der Achse darstellen, die den Wert für jeden Balken darstellen, aber ich möchte, dass das Datenlabel und die Achse den Prozentsatz der gesamten Serie anzeigen, während der nominale Wert in einem Tooltip angezeigt wird. daher möchte ich die Daten vor dem Plotten nicht in Prozentwerte umwandeln).

Hier ist ein Bild, das zeigt, was ich suche und wo ich jetzt bin:

Geige

Was ich zur Zeit für Achsenbeschriftungen als Formatierungsfunktion habe:

%Vor%

Gibt es eine formatter Funktionsvariable, die ich verwenden kann, um dies zu erreichen? Ich weiß, dass es leicht in einem Kreisdiagramm gemacht wird, aber ich glaube, dass Balkendiagramme Daten viel besser darstellen.

EDIT: Um es einfach zu sagen, wie bekomme ich die Summe aller Punkte der Serie? Sobald ich dies habe, ist es einfach, den Prozentsatz zu erhalten:

return Highcharts.numberFormat(100 * this.y / this.y.total,0) + "%";

Dabei ist this.y.total die Summe der Serien.

    
harryg 30.05.2013, 13:13
quelle

2 Antworten

22

Sie müssen die Daten durchlaufen und die Summe abrufen und dann die Formatierungsfunktion für Datalabel verwenden, um den Prozentsatz zu erhalten.

Beispiel hier:

Ссылка

%Vor%

edit ::

aktualisiertes Beispiel mit Achsenbeschriftungen:

Ссылка

[[EDIT für Kommentare

Wenn Sie versuchen, die Prozentwerte mehrerer Serien zu plotten, gibt es eine Reihe grundlegender Probleme.

Wenn Sie die% von zwei verschiedenen Datenreihen berechnen und den% -Wert anzeigen, obwohl Sie den Rohwert geplottet haben, ist Ihr Diagramm in den meisten Fällen irreführend und verwirrend.

Das direkte Zeichnen der Daten als Prozentwerte ist in diesem Fall die beste Vorgehensweise. Sie können den Rohdatenwert als zusätzliche Eigenschaft im Punktobjekt hinzufügen, wenn Sie ihn in einem QuickInfo oder an anderer Stelle anzeigen möchten ( zB Ссылка )

Wenn Sie darauf bestehen, die ursprüngliche Methode für zwei verschiedene Serien zu verwenden, können Sie einfach zwei verschiedene Variablen für die Berechnung erstellen und den Seriennamen im Formatierer überprüfen, um zu ermitteln, auf welche Datensumme zu rechnen ist.

    
jlbriggs 30.05.2013, 13:56
quelle
0

probiere das.percentage

aus

Es ist auch ziemlich gut in der highcharts API dokumentiert.

Ссылка

BEARBEITEN

Da Sie es für nicht gestapelte Serien benötigen würden, müssten Sie die Gesamtsumme vor dem Generieren des Diagramms abrufen ... Die folgende Funktion addiert Ihre Werte in eine Variable, die Sie später in Ihrer Formatierungsfunktion verwenden können.

%Vor%     
Joris Kroos 30.05.2013 13:37
quelle

Tags und Links