Ho creato questo esempio, dovrebbe aiutarti :
series: [{
name: 'Random data',
colorByPoint: true,
data: (function() {
// generate an array of random data
var time = (new Date()).getTime(),
i,
yValue;
for (i = -19; i <= 0; i += 1) {
yValue = Math.random();
if (i > -19 && yValue > data[data.length - 1].y) { // Green point
zones.push({
color: "#5f9",
value: time + i * 1000,
});
} else if (i > -19 && yValue <= data[data.length - 1].y) { // black point
zones.push({
color: "#000",
value: time + i * 1000,
});
} else { // first point alway green
zones.push({
color: "#5f9",
value: time + i * 1000,
});
}
data.push({
x: time + i * 1000,
y: yValue
});
}
return data;
}()),
zoneAxis: "x",
zones: zones
}]