score:1

Accepted answer

Indeed, you can use two xAxes, just like this: http://jsfiddle.net/21g0hfo1/1/

    xAxis: [{
        type: 'datetime',
        labels: {
            formatter: function () {
                return Highcharts.dateFormat("%e", this.value);
            }
        }
    }, {
        linkedTo: 0,
        type: 'datetime',
        tickLength: 0,
        lineWidth: 0,
        tickInterval: 30 * 24 * 3600 * 1000,
        labels: {
            formatter: function () {
                return Highcharts.dateFormat("%b %e", this.value);
            }
        }
    }],

I just connected second xAxis to the first one and each of them has different label formatter.

score:1

I'm not sure you want multiple xAxis but rather a tick label formatter that'll change the label for the start of each month:

var lastMonth = null;    
$('#container').highcharts({
    xAxis: {
        type: 'datetime', 
        labels: {
            formatter: function () {
                var thisMonth = Highcharts.dateFormat("%b", this.value);
                if (lastMonth != thisMonth){
                    lastMonth = thisMonth;
                    return Highcharts.dateFormat("%b %e", this.value);
                } else {
                    return Highcharts.dateFormat("%e", this.value);
                }
            }
        }
    },
    ....

Produces an axis like this (fiddle here):

enter image description here


Related Query

More Query from same tag