Commit 505546bc7026466fbeed92d6cf23dfa73e8ef3d1

Authored by Benjamin Renard
1 parent af253df2

Tickplot: components and units in legend

Showing 1 changed file with 34 additions and 7 deletions   Show diff stats
src/ParamOutputImpl/Plot/TickPlot/TickMarkDecorator.cc
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
22 #include "Time/TimePlot.hh" 22 #include "Time/TimePlot.hh"
23 #include "TickPlot.hh" 23 #include "TickPlot.hh"
24 #include "PlPlotUtil.hh" 24 #include "PlPlotUtil.hh"
  25 +#include "ParamMgr.hh"
25 26
26 using boost::tuples::get; 27 using boost::tuples::get;
27 28
@@ -350,15 +351,41 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA @@ -350,15 +351,41 @@ void TickMarkDecorator::installLabelGenerator(PanelPlotOutput* /*pplot_*/, TimeA
350 for (auto index : lSeriesProperties.getIndexList(_pParameterValues)) { 351 for (auto index : lSeriesProperties.getIndexList(_pParameterValues)) {
351 boost::shared_ptr<SeriesInfo> pSerie = 352 boost::shared_ptr<SeriesInfo> pSerie =
352 boost::shared_ptr<SeriesInfo>(new SeriesInfo()); 353 boost::shared_ptr<SeriesInfo>(new SeriesInfo());
  354 +
  355 + AMDA::Info::ParamMgr* piMgr = AMDA::Info::ParamMgr::getInstance();
  356 + AMDA::Info::ParamInfoSPtr paramInfo = piMgr->getParamInfoFromId(lSeriesProperties.getParamId());
  357 +
353 std::ostringstream osstr; 358 std::ostringstream osstr;
354 - osstr << name;  
355 - // display index only if non scalar  
356 - if(index.getDim1Index() != -1){  
357 - osstr << "[" << index.getDim1Index() ;  
358 - if (index.getDim2Index() != -1)  
359 - osstr << "," << index.getDim2Index();  
360 - osstr << "]"; 359 + bool skipIndex = false;
  360 + if (paramInfo == nullptr) {
  361 + osstr << name;
  362 + }
  363 + else {
  364 + if (paramInfo->getComponents(index).empty() == false) {
  365 + osstr << paramInfo->getComponents(index);
  366 + skipIndex = true;
  367 + }
  368 + else {
  369 + osstr << paramInfo->getShortName();
  370 + }
  371 + }
  372 +
  373 + if (!skipIndex) {
  374 + if(index.getDim1Index() != -1){
  375 + osstr << "[" << index.getDim1Index() ;
  376 + if (index.getDim2Index() != -1)
  377 + osstr << "," << index.getDim2Index();
  378 + osstr << "]";
  379 + }
  380 + else if (index.getDim2Index() != -1) {
  381 + osstr << "[" << index.getDim2Index() << "]";
  382 + }
  383 + }
  384 +
  385 + if ((paramInfo != nullptr) && (paramInfo->getUnits().empty() == false)) {
  386 + osstr << ", " << paramInfo->getUnits();
361 } 387 }
  388 +
362 pSerie->_name = osstr.str(); 389 pSerie->_name = osstr.str();
363 if (pSerie->_name.size() > maxNameLen) { 390 if (pSerie->_name.size() > maxNameLen) {
364 maxNameLen = pSerie->_name.size(); 391 maxNameLen = pSerie->_name.size();