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 { ...@@ -5,6 +5,7 @@ import {
createFullTitleForLineOrColumnChart, createFullTitleForLineOrColumnChart,
createCombinedTextDelimitedByComma, createCombinedTextDelimitedByComma,
createSubtitleForChart, createSubtitleForChart,
abbreviateTemperaturePhenomenonNames,
createTooltipDateString, createTooltipDateString,
} from "./chartHelpers.mjs"; } from "./chartHelpers.mjs";
...@@ -148,7 +149,7 @@ const drawColumnChartHighcharts = function ( ...@@ -148,7 +149,7 @@ const drawColumnChartHighcharts = function (
const textChartSubtitle = createSubtitleForChart(datastreamNamesArr); const textChartSubtitle = createSubtitleForChart(datastreamNamesArr);
const textYAxisTitle = createYAxisTitleTextColumnChart( const textYAxisTitle = createYAxisTitleTextColumnChart(
phenomenonNamesArr, abbreviateTemperaturePhenomenonNames(phenomenonNamesArr),
unitOfMeasurementSymbolsArr unitOfMeasurementSymbolsArr
); );
......
...@@ -352,6 +352,31 @@ const createSubtitleForHeatmap = function (datastreamNamesArr) { ...@@ -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 * 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 * @param {Number} pointXAxisValue The x-axis value (Unix timestamp) which is common for a set of data points
...@@ -389,6 +414,7 @@ export { ...@@ -389,6 +414,7 @@ export {
createTitleForHeatmap, createTitleForHeatmap,
createSubtitleForChart, createSubtitleForChart,
createSubtitleForHeatmap, createSubtitleForHeatmap,
abbreviateTemperaturePhenomenonNames,
createTooltipDateString, createTooltipDateString,
convertHexColorToRGBColor, convertHexColorToRGBColor,
removeTransparencyFromColor, removeTransparencyFromColor,
......
...@@ -6,6 +6,7 @@ import { ...@@ -6,6 +6,7 @@ import {
convertHexColorToRGBColor, convertHexColorToRGBColor,
createCombinedTextDelimitedByAmpersand, createCombinedTextDelimitedByAmpersand,
createCombinedTextDelimitedByComma, createCombinedTextDelimitedByComma,
abbreviateTemperaturePhenomenonNames,
createSubtitleForChart, createSubtitleForChart,
removeTransparencyFromColor, removeTransparencyFromColor,
} from "./chartHelpers.mjs"; } from "./chartHelpers.mjs";
...@@ -211,7 +212,7 @@ const drawScatterPlotHighcharts = function ( ...@@ -211,7 +212,7 @@ const drawScatterPlotHighcharts = function (
); );
const Y_AXIS_TITLE = createYAxisTitleTextScatterPlot( const Y_AXIS_TITLE = createYAxisTitleTextScatterPlot(
phenomenonNamesArr, abbreviateTemperaturePhenomenonNames(phenomenonNamesArr),
unitOfMeasurementSymbolsArr 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