I have problem with Highcharts, I've set right Y-axis to min:0 and max:100 (it's %) but it won't work and make 125 percentage. What's wrong?
http://jsfiddle.net/SdTcU/
$(function () {
$('#container').highcharts({
chart: {
type: 'area'
},
title: {
text: ''
},
colors: ['#c42525','#8bbc21'],
xAxis: {
categories: [
'07:00:00','07:15:00','07:30:00','07:45:00','08:00:00','08:15:00','08:30:00','08:45:00','09:00:00','09:15:00','09:30:00','09:45:00','10:00:00','10:15:00','10:30:00','10:45:00','11:00:00','11:15:00','11:30:00','11:45:00','12:00:00','12:15:00','12:30:00','12:45:00','13:00:00','13:15:00','13:30:00','13:45:00','14:00:00','14:15:00','14:30:00','14:45:00','15:00:00','15:15:00','15:30:00','15:45:00','16:00:00','16:15:00','16:30:00','16:45:00','17:00:00','17:15:00','17:30:00','17:45:00','18:00:00','18:15:00','18:30:00','18:45:00','19:00:00','19:15:00','19:30:00','19:45:00','20:00:00','20:15:00','20:30:00','20:45:00','21:00:00','21:15:00','21:30:00','21:45:00','22:00:00','22:15:00','22:30:00','22:45:00','23:00:00','23:15:00'
],
labels: {
step: 4,
rotation: -45,
align: 'right',
style: {
fontSize: '10px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: [{ // Primary yAxis
labels: {
format: '{value}',
style: {
color: '#89A54E'
}
},
title: {
text: '1',
style: {
color: '#89A54E'
}
}
}, { // Secondary yAxis
min: 0,
max: 100,
title: {
text: '%',
style: {
color: '#4572A7'
}
},
labels: {
format: '{value}%',
style: {
color: '#4572A7'
}
},
opposite: true
}],
credits: {
enabled: false
},
tooltip: {
pointFormat: '{series.name} produced <b>{point.y:,.0f}</b><br/>warheads in {point.x}'
},
plotOptions: {
area: {
marker: {
enabled: false,
symbol: 'circle',
radius: 2,
states: {
hover: {
enabled: true
}
}
}
}
},
series: [{
name: '1',
data: [
null, null, 43000, 41000, 39000, 37000,
35000, 33000, 31000, 29000, 27000, 25000,
35000, 33000, 31000, 29000, 27000, 25000,
24000, 23000, 22000, 21000, 20000,
null, null, 43000, 41000, 39000, 37000,
24000, 23000, 22000, 21000, 20000,
24000, 23000, 22000, 21000, 20000
]
}, {
name: '2',
data: [
1, null, null, null, null, 1005, 1436, 2063, 3057, 4618,27387, 29459, 31056, 31982, 32040, 26956, 27912, 28999, 28965, 27826,
100, 1005, 1436, 2063, 3057, 4618,27387, 29459, 31056, 31982, 32040, 26956, 27912, 28999, 28965, 27826,
1000, 1005, 1436, 2063, 3057, 4618,27387, 29459, 31056, 31982, 32040, 26956, 27912, 28999, 28965, 27826
]
},
{
name: '%',
color: '#4572A7',
type: 'spline',
yAxis: 1,
data: [80,70,78,86,64,51,58,88,88,100,100,95,68,91,92,93,94,85,100]
}
]
});
});
Chart showing use of multiple y-axes, where each series has a separate axis. Multiple axes allows data in different ranges to be visualized together. While this in some cases can cause charts to be hard to read, it can also be a powerful tool to illustrate correlations.
A simpler way to go about this is using the tickInterval attribute: yAxis: { title: { text: 'Percent' }, tickInterval: 10, labels: { formatter: function(){ return this. value + '%'; } } }, That will force your axis intervals to show up as you requested.
The problem you're having is that highcharts is trying to align the ticks. There are two ways of handling this problem with the current data set:
max: 100
changes to
max: 75
or, you need to set alignTicks as false
chart: {
type: 'area',
alignTicks: false
}
You may also use a combination of the solutions above (worked for me):
alignTicks: false (chart)
max:100 (on % axis)
gridLineWidth: 0 (on second Y axis)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With