diff --git a/api/src/engine/models/result/common/chart-axis.model.ts b/api/src/engine/models/result/common/chart-axis.model.ts
new file mode 100644
index 0000000000000000000000000000000000000000..f5045887954c5399f107718ae539bfcc9ac7d739
--- /dev/null
+++ b/api/src/engine/models/result/common/chart-axis.model.ts
@@ -0,0 +1,10 @@
+import { ObjectType, Field } from '@nestjs/graphql';
+
+@ObjectType()
+export class ChartAxis {
+  @Field({ nullable: true, defaultValue: '' })
+  label?: string;
+
+  @Field(() => [String], { nullable: true, defaultValue: [] })
+  categories: string[];
+}
diff --git a/api/src/engine/models/result/heat-map-result.model.ts b/api/src/engine/models/result/heat-map-result.model.ts
index abfd2f4ecf8bee579ca8e3a76cf52f8868980295..ab4d2d86ca410f8a65e61f971caff1384eb35b65 100644
--- a/api/src/engine/models/result/heat-map-result.model.ts
+++ b/api/src/engine/models/result/heat-map-result.model.ts
@@ -1,4 +1,5 @@
 import { Field, ObjectType } from '@nestjs/graphql';
+import { ChartAxis } from './common/chart-axis.model';
 import { Result } from './common/result.model';
 
 @ObjectType()
@@ -9,9 +10,9 @@ export class HeatMapResult extends Result {
   @Field(() => [[Number]])
   matrix: number[][];
 
-  @Field(() => [String])
-  xLabels: string[];
+  @Field(() => [ChartAxis])
+  xAxis: ChartAxis;
 
-  @Field(() => [String])
-  yLabels: string[];
+  @Field(() => [ChartAxis])
+  yAxis: ChartAxis;
 }