Commit 742f0c14 authored by Pithon Kabiro's avatar Pithon Kabiro
Browse files

New function: abbreviate temp phenomenon name

... for use in the y-axis text of charts
parent 99dd1362
......@@ -5,6 +5,7 @@ import {
createFullTitleForLineOrColumnChart,
createCombinedTextDelimitedByComma,
createSubtitleForChart,
abbreviateTemperaturePhenomenonNames,
createTooltipDateString,
} from "./chartHelpers.mjs";
......@@ -148,7 +149,7 @@ const drawColumnChartHighcharts = function (
const textChartSubtitle = createSubtitleForChart(datastreamNamesArr);
const textYAxisTitle = createYAxisTitleTextColumnChart(
phenomenonNamesArr,
abbreviateTemperaturePhenomenonNames(phenomenonNamesArr),
unitOfMeasurementSymbolsArr
);
......
......@@ -352,6 +352,31 @@ const createSubtitleForHeatmap = function (datastreamNamesArr) {
)}`;
};
/**
* Abbreviate temperature phenomenon names for use in chart y-axis title strings where space is limited
*
* @param {Array} phenomenonNamesArr An array of phenomenon name strings
* @returns {Array} An array that contains abbreviated temperature phenomenon strings
*/
const abbreviateTemperaturePhenomenonNames = function (phenomenonNamesArr) {
// We're interested in phenomenon names that contain the substrings
// `temperature` or `Temperature`
return phenomenonNamesArr.map((phenomenonName) => {
// Case 1: Temperature phenomenon name string variant 1
if (phenomenonName.includes("temperature")) {
return phenomenonName.replace("temperature", "temp.");
}
// Case 2: Temperature phenomenon name string variant 2
else if (phenomenonName.includes("Temperature")) {
return phenomenonName.replace("Temperature", "Temp.");
}
// Case 3: The other phenomenon name strings
else {
return phenomenonName;
}
});
};
/**
* Creates a date string that is used in a shared tooltip for a line or column chart
* @param {Number} pointXAxisValue The x-axis value (Unix timestamp) which is common for a set of data points
......@@ -389,6 +414,7 @@ export {
createTitleForHeatmap,
createSubtitleForChart,
createSubtitleForHeatmap,
abbreviateTemperaturePhenomenonNames,
createTooltipDateString,
convertHexColorToRGBColor,
removeTransparencyFromColor,
......
......@@ -6,6 +6,7 @@ import {
convertHexColorToRGBColor,
createCombinedTextDelimitedByAmpersand,
createCombinedTextDelimitedByComma,
abbreviateTemperaturePhenomenonNames,
createSubtitleForChart,
removeTransparencyFromColor,
} from "./chartHelpers.mjs";
......@@ -211,7 +212,7 @@ const drawScatterPlotHighcharts = function (
);
const Y_AXIS_TITLE = createYAxisTitleTextScatterPlot(
phenomenonNamesArr,
abbreviateTemperaturePhenomenonNames(phenomenonNamesArr),
unitOfMeasurementSymbolsArr
);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment