2016-03-21 17 views
1

Hier ist ein Ausschnitt dessen, was ich versuche zu tun, im Grunde habe ich 2 Werte, die ich in den Graphen einspeise. Ich möchte die Farbe der Spalte basierend auf dem Vergleich ändern. Wenn der Wert größer als das Ziel ist, grün sein, ansonsten blau. Die Zielwerte sind jedoch für jede Spalte unterschiedlich.Highcharts Dynamische Spaltenfarbe basierend auf Datenvergleich

column: { 
       zones: [{ 
        value: data[1] >= data[2], 
        color: 'green' 
       }, { 
        color: 'blue' 
       }] 
      } 
+1

Es scheint, dass Sie Farbe Punkt ändern mögen - Spalt basierend auf Punkt des Wert - Sie können die Farbe pro Punkt in Daten festlegen. Analysieren Sie Ihre Daten, um Informationen zur Farbe einzufügen, und verwenden Sie diese anstelle von Zonen. –

Antwort

0

Zonen ist ein Datenfeld und daher wird die Berechnung nicht prozedural durchgeführt. Sie müssen, dass außerhalb des Arrays zu berechnen, zum Beispiel eine Funktion erstellen, um die Berechnung zu tun, und dass die Farbe zurückrufen:

column: { 
      zones: [{ 
       color: getComputedColor(data) 
      }, { 
       color: 'blue' 
      }] 
     } 
.... 

function getComputedColor(data) 
{ if (data[1] >= data[2]) 
     return "green"; 
    return "blue"; 
} 
Verwandte Themen