So erstellen Sie eine einzelne Reihe Balkendiagramm mit Highcharts
Ich bin versucht, zu erstellen eine einfache Highcharts bar-graph mit einer einzelnen Reihe und mehreren labels in der Legende. Wie wird das gemacht?
Hier ist ein Beispiel:
$('#container').highcharts({
chart: {
type: 'bar',
},
legend: {
enabled: true,
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
labelFormatter: function() {
return this.name + " - <span class='total'>"+this.y+"</span>"
}
},
title: {
text: 'Simple Bar Graph'
},
xAxis: {
categories: ['First', 'Second', 'Third', 'Fourth', , 'Fifth'],
allowDecimals: false
},
yAxis: {
allowDecimals: false
},
series: [
{
data: [
{y: 6, name: 'First', color: 'blue'},
{y: 7, name: 'Second', color: 'green'},
{y: 9, name: 'Third', color: 'yellow'},
{y: 1, name: 'Fourth', color: 'orange'},
{y: 1, name: 'Fifth', color: 'red'}
]
}
],
});
- jsfiddle ist nicht mehr verfügbar.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Glücklicherweise, Highcharts ist ziemlich flexibel.
Wir können tun, einige tricks (vielleicht hacks?) erreichen diese Art der "nicht-convential" Aufgaben.
Was Sie tun können, in Ihrem Fall ist das erstellen von "fake" serieses, und verwenden Sie benutzerdefinierte Ereignis-Handler:
Damit formatieren Sie die Legende Etiketten, die wir verwenden können
labelFormatter
für die Legende:damit wird die Legende-label auf den Namen der entsprechenden Stelle.
Und schließlich müssen wir behandeln die Legende klicken, um zu imitieren, das "normale" Verhalten:
Dies sind nur Beispiele, Sie können offensichtlich verbessern und anpassen, um Ihren eigenen Bedarf.
Glück!
http://jsfiddle.net/otm0oq2c/3/
Einen einfacheren Weg als die akzeptierte Antwort ist, indem die
categories
Schlüssel als array von 'labels' und dieseries.data
als ein array "Werte".Hier ist ein Beispiel, verwendet eine Sammlung (Array von Objekten) oder ein flaches Objekt zum füllen eines Balkendiagramms in Highcharts (jsfiddle):
Im Beispiel wird ein array von Objekten mit den Schlüsseln name/Wert oder ein einfaches Objekt mit Schlüssel/Wert: