¿Cómo diferenciar las categorías en el desglose de los Highcharts?

Quiero hacer el cuadro como en la imagen de abajo. Hice la tabla siguiente escribiendo datos manualmente.

Foto 1

enter image description here

Pero, quiero tomar datos de la base de datos, pero no sé cómo categorizar el eje x.

Tengo códigos como este:

controlador

$faculty = (new \yii\db\Query()) ->select(['Faculty']) ->from('facultyin2011') ->limit(10) ->column(); $age1 = (new \yii\db\Query()) ->select(['lessthan25']) ->from('facultyin2011') ->limit(10) ->column(); $age1 = array_map('floatval', $age1); foreach ($age1 as $key => $age1_value) { $age1[$key] = [ 'name' => 'Fakultas', 'y' => $age1_value, 'drilldown' => 'department1' ]; }; $age2 = (new \yii\db\Query()) ->select(['btween25to29']) ->from('facultyin2011') ->limit(10) ->column(); $age2 = array_map('floatval', $age2); foreach ($age2 as $key => $age2_value) { $age2[$key] = [ 'name' => 'Fakultas', 'y' => $age2_value, 'drilldown' => 'department2' ]; }; $data['ageforfacultystudent'] = json_encode($faculty); $data['age1'] = json_encode($age1); $data['age2'] = json_encode($age2); // next $department = (new \yii\db\Query()) ->select(['Department']) ->from('department2011') ->limit(10) ->column(); $agedepartment1 = (new \yii\db\Query()) ->select(['lessthan25']) ->from('department2011') ->limit(10) ->column(); $agedepartment1 = array_map('floatval', $agedepartment1); foreach ($agedepartment1 as $key => $agedepartment1_value) { $agedepartment1[$key] = [ 'name' => 'A'.($key+1), 'y' => $agedepartment1_value, 'drilldown' => 'major1' ]; }; $agedepartment2 = (new \yii\db\Query()) ->select(['btween25to29']) ->from('department2011') ->limit(10) ->column(); $agedepartment2 = array_map('floatval', $agedepartment2); foreach ($agedepartment2 as $key => $agedepartment2_value) { $agedepartment2[$key] = [ 'name' => 'A'.($key+1), 'y' => $agedepartment2_value, 'drilldown' => 'major2' ]; }; $data['agefordepartmentstudent'] = json_encode($department); $data['agedepartment1'] = json_encode($agedepartment1); $data['agedepartment2'] = json_encode($agedepartment2); 

vista de índice

 $(function () { // Create the chart $('#containers').highcharts({ chart: { type: 'column' }, title: { text: 'Basic drilldown' }, xAxis: [{ id: 0, categories: $ageforfacultystudent }, { id: 1, categories: $agefordepartmentstudent }], legend: { enabled: false }, plotOptions: { series: { borderWidth: 0, dataLabels: { enabled: true, } } }, series: [ { name: 'lessthan25', data: $age1, }, { name: 'btween25to29', data: $age2, }], drilldown: { series: [{ id: 'department1', name: 'lessthan25', xAxis: 1, data: $agedepartment1, }, { id: 'department2', name: 'btween25to29', xAxis: 1, data: $agedepartment2, }] } }) }); ")?> 

Aquí está la tabla:

facultadin2011

enter image description here

departamento2011

enter image description here

y el resultado de esos códigos es como esta imagen a continuación:

enter image description here

Quiero el resultado como en la imagen 1. ¿Cómo categorizar la imagen similar a xAxis 1? Me refiero a la forma de categorizar los datos tomados de la base de datos

Gracias por adelantado