2017-03-16 6 views
0

Ich versuche, in sehr grundlegenden Säulendiagramm zu rendern, wo jede Reihe in Spalte selbst ist. Ich kann es fast schaffen, wenn es jede Spalte innerhalb der Reihe setzt []. Data Hier ist ein jsFiddle, wo die Stäbe korrekt sind, aber die Legende sollte das selbe wie die Spaltennamen (Alla und Firma) zeigen.Serie als Spalten in highcharts

https://jsfiddle.net/rsL1tza2/

series: [{ 
     data: [{ 
      name: 'Alla', 
      y: 76.9, 
      color: '#003960' 
     }, 
     { 
      name: 'Company', 
      y: 77.2, 
      color: '#006bb6' 
     }] 
    }] 

Antwort

1

Ihre aktuelle Datenstruktur gibt nur eine einzige Serie.

Sie benötigen series Eigenschaften aus dem data Array zu bewegen, und geben Sie sie als zwei separate Serie, wie folgt aus:

series: [{ 
    name: 'Alla', 
    color: '#003960', 
    data: [76.9] 
    }, { 
    name: 'Company', 
    color: '#006bb6', 
    data: [77.2] 
    }] 

Diese andere Probleme mit der x-Achse Etikett führen können, die Sie möchten Adresse, aber das ist ein anderes Problem.

Beispiel:

Obwohl, wenn Sie Ihre Daten wirklich so einfach ist, ist es viel besser für die Benutzerfreundlichkeit ist die Stäbe direkt auf der x-Achse zu beschriften, anstatt in einer Legende , wo der Benutzer von der Legende zu den Balken hin und her schauen und die Farben abstimmen muss. FWIW.

EDIT

Wenn Sie die Seriennamen in beiden Etikett der Achse angezeigt werden sollen und die Legende, müssen Sie die Dinge ein wenig anders zu tun.

1) Stellen Sie grouping auf false in Ihrer plotOptions

2) Geben Sie Ihre categories, setzen oder die name in beiden series Eigenschaften und die data Punkt

3) angeben, ein x für jeden Daten Punkt.

Achse:

xAxis: { 
    categories: ['Alla', 'Company'], 
    } 

Plot Optionen:

plotOptions: { 
    column: { 
     grouping: false 
    } 
    } 

Serie:

series: [{ 
    name: 'Alla', 
    color: '#003960', 
    data: [[0,76.9]] 
    }, { 
    name: 'Company', 
    color: '#006bb6', 
    data: [[1,77.2]] 
    }] 

Fiddle:

+0

hinzuzufügen gibt diese leider zu genau dem Problem mit der xAchse die Serie als Etikett fehlt (statt nur 0) – Resin01

+0

rechts, wie ich bereits erwähnt. Sie haben nicht nach X-Achsenbeschriftungen gefragt, aber Sie haben nach Serien und Legenden gefragt. Sie müssen genauer festlegen, was genau Sie erreichen möchten. Außerdem muss ich fragen, warum Sie x-Achsenbeschriftungen möchten, die in einer Legende dupliziert werden. Die Legende ist völlig unnötig, wenn Sie die Achse beschriften. In den allermeisten Fällen ist dies die beste Möglichkeit, Ihre Daten anzuzeigen, wenn Sie dies als eine Serie ohne Legende und korrekt beschriftete x-Achsen-Kategorien tun. Aber egal - sei explizit, was du brauchst, und wir können es lösen. – jlbriggs

+0

@ Resin01 siehe aktualisierte Antwort – jlbriggs

0

Sie haben name aus data Bereich zu halten:

https://jsfiddle.net/0kfmqnu4/

series: [{ 
     name: 'Alla', 
     data: [76.9] 
    }, { 
     name: 'Company', 
     data: [77.2] 
    }] 
+0

das scheint nicht die Serie Namen auf der xAchse Linie – Resin01

Verwandte Themen