2013-03-18 3 views
8

enter image description here Wir arbeiten an einem Projekt, das den Umsatz pro Land für zwei Gruppen darstellt. Die Herausforderung besteht darin, dass unser Prototyp in den USA konzentriert ist und die Verkäufe in den USA alle anderen Länder in den Schatten stellen. Was wir tun möchten, ist eine minimale Höhe für jeden Balken, der> 0 ist, so dass der Benutzer in der Lage sein wird, alle Balken zu sehen und mit der Maus über die Zählung auf dem Hover-Status zu wissen.Probieren Sie eine Mindesthöhe für Bars in HighStock

Ich habe ein Bild beigefügt, um zu zeigen, wie der Umfang der Verkäufe in den USA die Verkäufe in den Ländern rechts wie 0 aussehen lässt. In den meisten Fällen erscheinen nur die USA, aber wir zeigen nie ein Land entlang der Unterseite es sei denn, es gibt mindestens 1 Verkauf.

Wie auch immer, um eine Mindesthöhe zu definieren, so dass immer ein Balken vorhanden ist? Wir haben versucht, eine Grenze hinzuzufügen, aber das hat nicht funktioniert, wenn die Anzahl der Verkäufe relativ zur großen Leiste so gering war.

Danke!

Antwort

24

Ja, können Sie minPointLength verwenden: http://api.highcharts.com/highstock#plotOptions.column.minPointLength

Es sei denn, der durchschnittliche Betrachter dieser Daten auf die Zusammenarbeit mit log-skalierten Daten gewöhnt ist, ist es keine gute Idee, es auf diese Weise zu skalieren. Die Leute vergleichen die Länge der Balken, wie sie sollten, und werden einen völlig unrealistischen Eindruck der Daten haben.

Der Unterschied zwischen 1 Pixel und 0 Pixel reicht aus, um zu zeigen, dass dort ein Wert vorhanden ist, der jedoch in den meisten Fällen nicht ausreicht, um die Daten sinnvoll zu verzerren.

+3

+1. Dies ist eine bessere Option als meine Wahl. –

2

Eine Sache, die Sie betrachten könnte, ist eine logarithmische Skala:

http://www.highcharts.com/demo/line-log-axis

yAxis: { 
    type: 'logarithmic' 
}, 

, dass Sie die verschiedenen Höhen auch sichtbar zu machen erlauben würde, wenn man bar mehrere Größenordnungen größer als die anderen war.

Alles andere würde Ihre Daten verzerren, wenn es wirklich so klein ist, dass es nicht gesehen werden kann, wenn Sie es anfänglich grafisch darstellen.

+0

Danke Ben! Ich werde sehen, ob das funktioniert ... Ich hatte gehofft, dass es einige UI-Einstellungen geben würde, die es dem Benutzer zumindest erscheinen lassen würden, aber vielleicht ist das Protokoll das Beste, was wir tun können. Ich lasse das ein wenig offen, nur um sicherzustellen, dass es keine anderen Ideen gibt, aber ich schätze den schnellen Vorschlag! – Bill

0

Ich habe minPointLength verwendet, also die Mindesthöhe auf 5 gezwungen. Es hat funktioniert.

series: [{ 
     minPointLength: 5, 
     data: [ 
Verwandte Themen