diff --git a/src/dccQuantity.js b/src/dccQuantity.js
index ec6afdfd2d17a636a6f1c808a7a049de6076f547..9945469fc81cd8dcb2dc369774a28aca5147e746 100644
--- a/src/dccQuantity.js
+++ b/src/dccQuantity.js
@@ -127,11 +127,23 @@ export class DCCConformity {
         return [];
     }
 
+    _getTolerance(q, language) {
+        if (q['dcc:name'] && q['dcc:name']['dcc:content']) {
+            let content = q['dcc:name']['dcc:content'];
+            if (Array.isArray(content)) {
+                const match = content.find(item => item.$ && item.$.lang === language) || content[0];
+                return match._ || match;
+            }
+            return content._ || content;
+        }
+        return '';
+    }
+
     getLowerLimit() {
         const data = this.metaDataJson['dcc:data'];
         if (data && data['dcc:quantity']) {
             let quantities = data['dcc:quantity'];
-            if (!Array.isArray(quantities)) quantities = [quantities];
+            if (!Array.isArray(quantities)) { quantities = [quantities]; }
             for (let q of quantities) {
                 if (q.$ && q.$.refType && q.$.refType.includes('basic_toleranceLimitLower')) {
                     let lowerValue = null;
@@ -147,7 +159,7 @@ export class DCCConformity {
                             lowerUnit = unit.toHTML({ oneLine: true });
                         }
                     }
-                    return { value: lowerValue, unit: lowerUnit, name: this.getQuantityName(q) };
+                    return { value: lowerValue, unit: lowerUnit, name: this._getTolerance(q, this.language) };
                 }
             }
         }
@@ -158,7 +170,7 @@ export class DCCConformity {
         const data = this.metaDataJson['dcc:data'];
         if (data && data['dcc:quantity']) {
             let quantities = data['dcc:quantity'];
-            if (!Array.isArray(quantities)) quantities = [quantities];
+            if (!Array.isArray(quantities)) { quantities = [quantities]; }
             for (let q of quantities) {
                 if (q.$ && q.$.refType && q.$.refType.includes('basic_toleranceLimitUpper')) {
                     let upperValue = null;
@@ -174,22 +186,10 @@ export class DCCConformity {
                             upperUnit = unit.toHTML({ oneLine: true });
                         }
                     }
-                    return { value: upperValue, unit: upperUnit, name: this.getQuantityName(q) };
+                    return { value: upperValue, unit: upperUnit, name: this._getTolerance(q, this.language) };
                 }
             }
         }
         return null;
     }
-
-    getQuantityName(q) {
-        if (q['dcc:name'] && q['dcc:name']['dcc:content']) {
-            let content = q['dcc:name']['dcc:content'];
-            if (Array.isArray(content)) {
-                const match = content.find(item => item.$ && item.$.lang === this.language) || content[0];
-                return match._ || match;
-            }
-            return content._ || content;
-        }
-        return '';
-    }
 }
diff --git a/src/renderers/MeasurementRenderer.js b/src/renderers/MeasurementRenderer.js
index b6ec0321c20bb6d29eff861c649c44dee6a943ea..42e95629768dab4d8e025cd5894d31a36ae70f76 100644
--- a/src/renderers/MeasurementRenderer.js
+++ b/src/renderers/MeasurementRenderer.js
@@ -343,6 +343,14 @@ export function renderMeasurementResults(measurementResults, language) {
           tickfont: { family: 'Arial', size: 14, color: 'black' },
           type: logY ? 'log' : 'linear'
         },
+        // Place legend on top over the plot without shifting x-axis scaling.
+        legend: {
+          orientation: 'h',
+          x: 0.5,
+          y: 0.98,
+          xanchor: 'center',
+          yanchor: 'top'
+        },
         hovermode: 'closest',
         margin: { t: 20, b: 40 }
       };