Accepted answer

The stack option doesn't refer to the category index as you expect in your example.

You use stack: 'A' and stack: B' and have one y value for each series. It means that two stacked columns are grouped for one category.

Take a look at the API Reference and its demo:

To achieve a stacked column for each category you need to parse Mes to the number (timestamp) and pass it as an x value.

var series = [];
for (var i = 0; i < data.length; i++) {
  Mes = new Date(data[i][0]).getTime() + 60 * 60 * 1000,
  Total = data[i][1];
  Categoria = data[i][2];  

    name: Categoria,
    data: [{x: Mes, y: Total}],
    dataLabels: {
      enabled: true,

Then set your xAxis.type to datetime and change label format.

  xAxis: {
    type: 'datetime',
    labels: {
      format: '{value:%Y-%m}'

Example demo:

Related Query

More Query from same tag