diff --git a/src/ParamOutputImpl/Plot/Time/TimePlot.cc b/src/ParamOutputImpl/Plot/Time/TimePlot.cc index 96f80c2..d7df228 100644 --- a/src/ParamOutputImpl/Plot/Time/TimePlot.cc +++ b/src/ParamOutputImpl/Plot/Time/TimePlot.cc @@ -909,6 +909,10 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Build data grid"); MatrixGrid matrixGrid; + //get specific colors for min / max values + Color minValColor = lZAxis->getMinValColor(); + Color maxValColor = lZAxis->getMaxValColor(); + if ((tableSPtr == nullptr) || !tableSPtr->isVariable(&_parameterManager)) { int startIndex; @@ -945,6 +949,19 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam } } + if (lYAxis->_reverse) { + if (((part.y[0] < lYAxis->getRange().getMax()) && (part.y[1] < lYAxis->getRange().getMax())) || + ((part.y[0] > lYAxis->getRange().getMin()) && (part.y[1] < lYAxis->getRange().getMin()))) { + continue; + } + } + else { + if (((part.y[0] < lYAxis->getRange().getMin()) && (part.y[1] < lYAxis->getRange().getMin())) || + ((part.y[0] > lYAxis->getRange().getMax()) && (part.y[1] < lYAxis->getRange().getMax()))) { + continue; + } + } + for (int i = 0; i < nbValues - 1; ++i) { part.x[0] = data.getTimes()[startIndex+i]; @@ -953,6 +970,12 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam part.value = data.getValues(index, startIndex)[i]; matrixGrid.push_back(part); } + + //draw spectro + LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Draw data grid - " << matrixGrid.size()); + drawMatrix(matrixGrid, pSpectro.getMin(), pSpectro.getMax(), + minValColor, maxValColor, lZAxis->_color._colorMapIndex, pSpectro.getUseLog0AsMin()); + matrixGrid.clear(); } } else @@ -1010,18 +1033,15 @@ void TimePlot::drawSpectro(double startDate, double stopDate, std::string pParam else matrixGrid.push_back(part); } + + //draw spectro + LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Draw data grid - " << matrixGrid.size()); + drawMatrix(matrixGrid, pSpectro.getMin(), pSpectro.getMax(), + minValColor, maxValColor, lZAxis->_color._colorMapIndex, pSpectro.getUseLog0AsMin()); + matrixGrid.clear(); } } } - - //get specific colors for min / max values - Color minValColor = lZAxis->getMinValColor(); - Color maxValColor = lZAxis->getMaxValColor(); - - //draw spectro - LOG4CXX_DEBUG(gLogger, "TimePlot::drawSpectro - Draw data grid"); - drawMatrix(matrixGrid, pSpectro.getMin(), pSpectro.getMax(), - minValColor, maxValColor, lZAxis->_color._colorMapIndex, pSpectro.getUseLog0AsMin()); } Color TimePlot::getStatusColor(AMDA::Info::ParamInfoSPtr& paramInfo, double value) { -- libgit2 0.21.2