From 07a1dc1d599922c958789c8c2b64b13dc2af1416 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Fri, 19 May 2017 20:17:07 +0200 Subject: [PATCH] fix logy scaling problem. --- src/classes/PMusrCanvas.cpp | 47 ++++++++++++------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index bf61d470..1bc506be 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -4595,14 +4595,8 @@ void PMusrCanvas::PlotData(Bool_t unzoom) dataYmax = GetMaximum(fData[i].data, dataXmin, dataXmax); } Double_t dd = 0.05*fabs(dataYmax-dataYmin); - if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) { - dataYmin -= dd; - dataYmax += dd; - } else { - if (dataYmin < 0) - dataYmin = 0.1; - dataYmax += dd; - } + dataYmin -= dd; + dataYmax += dd; } } else { // set the x-/y-range to the previous fHistoFrame range dataXmin = xmin; @@ -4620,16 +4614,13 @@ void PMusrCanvas::PlotData(Bool_t unzoom) dataYmax = GetMaximum(fData[i].data, dataXmin, dataXmax); } Double_t dd = 0.05*fabs(dataYmax-dataYmin); - if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) { - dataYmin -= dd; - dataYmax += dd; - } else { - if (dataYmin < 0) - dataYmin = 0.1; - dataYmax += dd; - } + dataYmin -= dd; + dataYmax += dd; } } + if (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) { + dataYmin = 1.0e-4 * dataYmax; + } // create histo frame in order to plot histograms possibly with different x-frames fHistoFrame = fDataTheoryPad->DrawFrame(dataXmin, dataYmin, dataXmax, dataYmax); @@ -4751,14 +4742,8 @@ void PMusrCanvas::PlotData(Bool_t unzoom) dataYmax = GetMaximum(fNonMusrData[i].data, dataXmin, dataXmax); } Double_t dd = 0.05*fabs(dataYmax-dataYmin); - if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) { - dataYmin -= dd; - dataYmax += dd; - } else { - if (dataYmin < 0) - dataYmin = 0.1; - dataYmax += dd; - } + dataYmin -= dd; + dataYmax += dd; } } else { // set the x-/y-range to the previous fHistoFrame range dataXmin = xmin; @@ -4776,16 +4761,14 @@ void PMusrCanvas::PlotData(Bool_t unzoom) dataYmax = GetMaximum(fNonMusrData[i].data, dataXmin, dataXmax); } Double_t dd = 0.05*fabs(dataYmax-dataYmin); - if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) { - dataYmin -= dd; - dataYmax += dd; - } else { - if (dataYmin < 0) - dataYmin = 0.1; - dataYmax += dd; - } + dataYmin -= dd; + dataYmax += dd; } } + if (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) { + if (dataYmin <= 0.0) + dataYmin = 1.0e-4 * dataYmax; + } // create fMultiGraphData, and add all data and theory fMultiGraphData = new TMultiGraph();