Accepted answer

if you added the the "type" to the xaxis definition then the x values will be interpreted as dates and times rather than decimal values

xaxis: {
    type : "datetime", //add this line
    gridlinewidth: 1,
    labels: {
        rotation: -45,
        align: 'right',
        style: {
            fontsize: '13px',
            fontfamily: 'verdana, sans-serif'

you may have to fiddle with the start times and intervals to get highchart to correctly interpret your x-values. see this demo on the highchart website as an example.


you can use dateformat to replace time in miliseconds with date.

                return highcharts.dateformat('%d / %m / %y',this.value);


the reason is that you are not actually creating a stock chart. your code looks like:

var chart = new highcharts.chart(options);

if you want it to be a stock chart do:

var chart = new highcharts.stockchart(options);

a chart by default is a category chart. stockchart is time-based.

Related Query

More Query from same tag