From bce9326f063983b0d93d20003dbe36f5b513caa3 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Mon, 29 May 2017 18:02:31 +0200 Subject: [PATCH] fix logy problem. --- src/classes/PMusrCanvas.cpp | 46 +++++++++++-------------------------- 1 file changed, 14 insertions(+), 32 deletions(-) diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index 05ce9c14..374a9dbd 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -4602,14 +4602,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; @@ -4627,16 +4621,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); @@ -4758,14 +4749,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; @@ -4783,16 +4768,13 @@ 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) { + dataYmin = 1.0e-4 * dataYmax; + } // create fMultiGraphData, and add all data and theory fMultiGraphData = new TMultiGraph();