diff --git a/docs/FreeBedsChartView.js b/docs/FreeBedsChartView.js
index b5a3becb8aa..4ad0fc95cbc 100644
--- a/docs/FreeBedsChartView.js
+++ b/docs/FreeBedsChartView.js
@@ -57,6 +57,14 @@ class FreeBedsChartView {
yAxisKey: 'free_beds_divided_by_all_beds_in_percent'
},
backgroundColor: 'rgba(0, 0, 150, 1)'
+ },
+ {
+ label: 'Median des Anteils freier Betten',
+ data: data,
+ parsing: {
+ yAxisKey: 'median_free_beds_in_percent'
+ },
+ backgroundColor: 'rgba(0, 150, 150, 1)'
}
]
};
diff --git a/docs/Utils.js b/docs/Utils.js
new file mode 100644
index 00000000000..a1acab191aa
--- /dev/null
+++ b/docs/Utils.js
@@ -0,0 +1,9 @@
+class Utils {
+
+ // adapted from https://www.w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-88.php
+ static median(arr) {
+ const mid = Math.floor(arr.length / 2);
+ const nums = [...arr].sort((a, b) => a - b);
+ return arr.length % 2 !== 0 ? nums[mid] : (nums[mid - 1] + nums[mid]) / 2;
+ }
+}
diff --git a/docs/intensivstationen.html b/docs/intensivstationen.html
index b1629303881..5252de1e7d6 100644
--- a/docs/intensivstationen.html
+++ b/docs/intensivstationen.html
@@ -9,6 +9,7 @@
+
diff --git a/docs/intensivstationen.js b/docs/intensivstationen.js
index 1cc0aece53a..11ff6378c84 100644
--- a/docs/intensivstationen.js
+++ b/docs/intensivstationen.js
@@ -16,12 +16,18 @@ function displayFreeBedsChart({ freeBedsChartView, kreisText, kreisValue }) {
.then(json =>
freeBedsChartView.displayChart(
{
- data: get_free_beds_divided_by_all_beds_in_percent(json.data),
+ data: getDataDicts(json.data),
title: kreisText
}));
}
-function get_free_beds_divided_by_all_beds_in_percent(data) {
+function getDataDicts(data) {
+ const dataDicts = get_free_beds_divided_by_all_beds_in_percent_dataDicts(data);
+ add_median_free_beds_in_percent(dataDicts);
+ return dataDicts;
+}
+
+function get_free_beds_divided_by_all_beds_in_percent_dataDicts(data) {
return data.map(({ date, betten_frei, betten_belegt }) =>
(
{
@@ -30,3 +36,12 @@ function get_free_beds_divided_by_all_beds_in_percent(data) {
}
));
}
+
+function add_median_free_beds_in_percent(dataDicts) {
+ const median_free_beds_in_percent =
+ Utils.median(
+ dataDicts.map(dataDict => dataDict.free_beds_divided_by_all_beds_in_percent));
+ for (const dataDict of dataDicts) {
+ dataDict["median_free_beds_in_percent"] = median_free_beds_in_percent;
+ }
+}
\ No newline at end of file
diff --git a/src/help.txt b/src/help.txt
index cb650c20382..93513f7ef22 100644
--- a/src/help.txt
+++ b/src/help.txt
@@ -47,8 +47,8 @@ man 5 fcrontab
fcrontab -e
fcrontab -l
-# each day at 14:00 Uhr
-00 14 * * * /home/frankknoll/Dokumente/Corona/projects/HowBadIsMyBatch-pages/src/intensivstationen/intensivstationen.sh
+# each day at 13:30 Uhr
+30 13 * * * /home/frankknoll/Dokumente/Corona/projects/HowBadIsMyBatch-pages/src/intensivstationen/intensivstationen.sh
systemctl status fcron
tail -f /var/log/syslog