From c47acb65ddddf82e4ae87dae7bc8f3e7974751b8 Mon Sep 17 00:00:00 2001 From: ankurjuneja Date: Sat, 3 Jan 2026 08:49:41 -0800 Subject: [PATCH] QC plot y-scale option to show delta from mean --- webapp/TargetedMS/js/QCPlotHelperBase.js | 4 ++-- webapp/TargetedMS/js/QCPlotHoverPanel.js | 4 ++++ webapp/TargetedMS/js/QCTrendPlotPanel.js | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/webapp/TargetedMS/js/QCPlotHelperBase.js b/webapp/TargetedMS/js/QCPlotHelperBase.js index 53e6dbf16..88cddda86 100644 --- a/webapp/TargetedMS/js/QCPlotHelperBase.js +++ b/webapp/TargetedMS/js/QCPlotHelperBase.js @@ -730,7 +730,7 @@ Ext4.define("LABKEY.targetedms.QCPlotHelperBase", { shape: shapeProp, combined: true, yAxisScale: (showLogInvalid ? 'linear' : (this.yAxisScale !== 'log' ? 'linear' : 'log')), - valueConversion: (this.yAxisScale === 'percentDeviation' || this.yAxisScale === 'standardDeviation' ? this.yAxisScale : undefined), + valueConversion: (this.yAxisScale === 'percentDeviation' || this.yAxisScale === 'standardDeviation' || this.yAxisScale === 'deltaFromMean' ? this.yAxisScale : undefined), groupBy: 'fragment', color: 'fragment', defaultGuideSetLabel: 'fragment', @@ -873,7 +873,7 @@ Ext4.define("LABKEY.targetedms.QCPlotHelperBase", { xTick: this.groupedX ? 'groupedXTick' : 'fullDate', xTickLabel: 'date', yAxisScale: (precursorInfo.showLogInvalid ? 'linear' : (this.yAxisScale !== 'log' ? 'linear' : 'log')), - valueConversion: (this.yAxisScale === 'percentDeviation' || this.yAxisScale === 'standardDeviation' ? this.yAxisScale : undefined), + valueConversion: (this.yAxisScale === 'percentDeviation' || this.yAxisScale === 'standardDeviation' || this.yAxisScale === 'deltaFromMean' ? this.yAxisScale : undefined), shape: shapeProp, combined: false, pointSize: 2, diff --git a/webapp/TargetedMS/js/QCPlotHoverPanel.js b/webapp/TargetedMS/js/QCPlotHoverPanel.js index 0374de1cc..660f2fc57 100644 --- a/webapp/TargetedMS/js/QCPlotHoverPanel.js +++ b/webapp/TargetedMS/js/QCPlotHoverPanel.js @@ -95,6 +95,10 @@ Ext4.define('LABKEY.targetedms.QCPlotHoverPanel', { this.add(this.getPlotPointDetailField('Value', LABKEY.targetedms.PlotSettingsUtil.formatNumeric(this.pointData.rawValue))); this.add(this.getPlotPointDetailField('Std Devs', this.valueName ? this.pointData[this.valueName] : this.pointData['value'])) } + else if (this.pointData.conversion === 'deltaFromMean') { + this.add(this.getPlotPointDetailField('Value', LABKEY.targetedms.PlotSettingsUtil.formatNumeric(this.pointData.rawValue))); + this.add(this.getPlotPointDetailField('Delta From Mean', LABKEY.targetedms.PlotSettingsUtil.formatNumeric(this.valueName ? this.pointData[this.valueName] : this.pointData['value']))) + } else { this.add(this.getPlotPointDetailField('Value', LABKEY.targetedms.PlotSettingsUtil.formatNumeric(this.valueName ? this.pointData[this.valueName] : this.pointData['value']))); } diff --git a/webapp/TargetedMS/js/QCTrendPlotPanel.js b/webapp/TargetedMS/js/QCTrendPlotPanel.js index 51e41b383..987ac3d77 100644 --- a/webapp/TargetedMS/js/QCTrendPlotPanel.js +++ b/webapp/TargetedMS/js/QCTrendPlotPanel.js @@ -696,7 +696,7 @@ Ext4.define('LABKEY.targetedms.QCTrendPlotPanel', { getYAxisOptions: function () { return { fields: ['value', 'display'], - data: [['linear', 'Linear'], ['log', 'Log'], ['percentDeviation', 'Percent of Mean'], ['standardDeviation', 'Standard Deviations']] + data: [['linear', 'Linear'], ['log', 'Log'], ['percentDeviation', 'Percent of Mean'], ['standardDeviation', 'Standard Deviations'], ['deltaFromMean', 'Delta from Mean']] } },