fix axisLabel failing when scale.range returns an array of one

We ran into an issue where in a discrete bar chart `scale.range()` would return an array with only one element. In that case `(scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0]))` returns `NaN`. 

This PR allows the calculation to work with 1-element-arrays by returning that one element. The rest remains the same.