Ich muss unterschiedliche Breiten für jede Spalte in meinem Diagramm festlegen... Die Breite ist abhängig vom Y-Achsenwert... Zum Beispiel, wenn yaxis Wert ist 23 die Breite der Spalte mit diesem Wert wird 50px und Wert müssen in der Mitte der Spalte sein. Und wenn yaxis Wert 234 ist: die Breite muss 70px und Wert in der Mitte der Spalte sein... Wie kann ich das machen? Mein Diagramm ist:
options = {
chart: {
renderTo: 'chart',
type: 'column',
width: 450
},
title: {
text: 'A glance overview at your contest’s status'
},
xAxis: {
categories: ['Approved Photos', 'Pending Approval Photos', 'Votes', 'Entrants'],
labels: {
//rotation: -45,
style: {
font: 'normal 9px Verdana, sans-serif, arial'
}
}
},
yAxis: {
allowDecimals: false,
min: 0,
title: {
text: 'Amount'
}
},
legend: {
enabled: false
},
series: []
};
series = {
name: "Amount",
data: [],
dataLabels: {
enabled: true,
color: '#000000',
align: 'right',
x: -10,
y: 20,
formatter: function () {
return this.y;
},
style: {
font: 'normal 13px Verdana, sans-serif'
}
}
};
Und ich stelle die Werte auf diese Weise ein:
var colors = Highcharts.getOptions().colors;
var index = 0;
options.series = [];
series.data = [];
for (var i in Data) {
if (parseInt(Data[i]) != 0) {
series.data.push({ y: parseInt(Data[i]), color: colors[index] });
index++;
}
else {
series.data.push(null);
}
}
options.series.push(series);
chart = new Highcharts.Chart(options);