From bb472ec03aefa788c52d062a8362f3fe80b57a84 Mon Sep 17 00:00:00 2001
From: Manuel Spuhler <manuel.spuhler@chuv.ch>
Date: Wed, 1 Feb 2023 13:33:53 +0100
Subject: [PATCH] fix(exareme2): Categorical bins

---
 .../exareme/handlers/algorithms/histogram.handler.ts  | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/api/src/engine/connectors/exareme/handlers/algorithms/histogram.handler.ts b/api/src/engine/connectors/exareme/handlers/algorithms/histogram.handler.ts
index 85f9c3a..0014529 100644
--- a/api/src/engine/connectors/exareme/handlers/algorithms/histogram.handler.ts
+++ b/api/src/engine/connectors/exareme/handlers/algorithms/histogram.handler.ts
@@ -12,14 +12,19 @@ const round = (n: number) => Math.round((n + Number.EPSILON) * 100) / 100;
 
 export default class HistogramHandler extends BaseHandler {
   private getBarChartResult(data: any): BarChartResult {
+    const categories =
+      typeof data.bins[0] === 'string'
+        ? data.bins
+        : data.bins
+            .filter((_, i) => i < data.bins.length - 1) // upper limit counts for 1 extra
+            .map((b, i) => `${round(b)}-${round(data.bins[i + 1])}`);
+
     const barChart: BarChartResult = {
       name: data.var,
       barValues: data.counts.map((c) => c ?? 0),
       xAxis: {
         label: 'bins',
-        categories: data.bins
-          .filter((_, i) => i < data.bins.length - 1) // upper limit counts for 1 extra
-          .map((b, i) => `${round(b)}-${round(data.bins[i + 1])}`),
+        categories,
       },
       hasConnectedBars: false,
       yAxis: {
-- 
GitLab