Commit b3c7897554c96ddda1c2aa914fd981810a70b16d

Authored by Benjamin Renard
2 parents ac42dad1 f27db60a

Merge branch 'amdadev'

config/kernel/plotConfig.xml
@@ -34,6 +34,8 @@ @@ -34,6 +34,8 @@
34 <symbol type="circle" size="5" color="[120,120,0]" /> 34 <symbol type="circle" size="5" color="[120,120,0]" />
35 </timeTick> 35 </timeTick>
36 </xyPlot> 36 </xyPlot>
  37 + <histoPlot zAxis="colorAxis">
  38 + </histoPlot>
37 <instantPlot zAxis="colorAxis"> 39 <instantPlot zAxis="colorAxis">
38 <line type="no" style="plain" color="[255,0,0]" width="1" /> 40 <line type="no" style="plain" color="[255,0,0]" width="1" />
39 <symbol type="dot" size="4" color="[0,0,255]" /> 41 <symbol type="dot" size="4" color="[0,0,255]" />
src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php
@@ -315,7 +315,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -315,7 +315,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
315 //Plot type 315 //Plot type
316 $this->isInstantPlot = false; 316 $this->isInstantPlot = false;
317 $plotNode = $this->unmarshallPlotType($panelData, $panelNode); 317 $plotNode = $this->unmarshallPlotType($panelData, $panelNode);
318 -  
319 $isTimePlot = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTTIME_NAME); 318 $isTimePlot = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTTIME_NAME);
320 319
321 //Tick plot 320 //Tick plot
@@ -373,6 +372,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -373,6 +372,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
373 $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::XYPLOT); 372 $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::XYPLOT);
374 $plotNode->setIsIsotropic($panelData->{'panel-scatter-isotropic'}); 373 $plotNode->setIsIsotropic($panelData->{'panel-scatter-isotropic'});
375 break; 374 break;
  375 + case 'histoPlot':
  376 + $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::HISTOPLOT);
  377 + break;
376 case 'statusPlot': 378 case 'statusPlot':
377 $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::STATUSPLOT); 379 $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::STATUSPLOT);
378 switch ($panelData->{'panel-status-position'}) { 380 switch ($panelData->{'panel-status-position'}) {
@@ -517,12 +519,30 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -517,12 +519,30 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
517 if (isset($axisData->{'axis-grid-major-number'}) && $axisData->{'axis-grid-major-number'} != 0) 519 if (isset($axisData->{'axis-grid-major-number'}) && $axisData->{'axis-grid-major-number'} != 0)
518 $axisNode->getTick()->setMajorGridNumber($axisData->{'axis-grid-major-number'}); 520 $axisNode->getTick()->setMajorGridNumber($axisData->{'axis-grid-major-number'});
519 } elseif ($axisData->{'axis-grid-specify-ticks-spacing'}) { 521 } elseif ($axisData->{'axis-grid-specify-ticks-spacing'}) {
  522 + $timeMultiplier = 1;
  523 + if(isset($axisData->{'axis-tick-time-unit'}) && ($axisData->{'axis-type'} == "time" || $axisData->{'axis-type'} == "epoch" )){
  524 + switch ($axisData->{'axis-tick-time-unit'}) {
  525 + case 'default':
  526 + $timeMultiplier = 1;
  527 + break;
  528 + case 'min':
  529 + $timeMultiplier = 60;
  530 + break;
  531 + case "hour":
  532 + $timeMultiplier = 3600;
  533 + break;
  534 + case "day":
  535 + $timeMultiplier = 86400;
  536 + break;
  537 + }
  538 + }
520 539
521 if (isset($axisData->{'axis-grid-major-space'}) && $axisData->{'axis-grid-major-space'} != 0) 540 if (isset($axisData->{'axis-grid-major-space'}) && $axisData->{'axis-grid-major-space'} != 0)
522 - $axisNode->getTick()->setMajorGridSpace($axisData->{'axis-grid-major-space'}); 541 + $axisNode->getTick()->setMajorGridSpace($axisData->{'axis-grid-major-space'}*$timeMultiplier);
523 542
524 if (isset($axisData->{'axis-grid-minor-space'}) && $axisData->{'axis-grid-minor-space'} != 0) 543 if (isset($axisData->{'axis-grid-minor-space'}) && $axisData->{'axis-grid-minor-space'} != 0)
525 - $axisNode->getTick()->setMinorGridSpace($axisData->{'axis-grid-minor-space'}); 544 + $axisNode->getTick()->setMinorGridSpace($axisData->{'axis-grid-minor-space'}*$timeMultiplier);
  545 +
526 } 546 }
527 547
528 548
@@ -553,8 +573,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -553,8 +573,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
553 { 573 {
554 //X parameters 574 //X parameters
555 $isScatter = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTXY_NAME); 575 $isScatter = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTXY_NAME);
  576 + $isHisto = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTHISTO_NAME);
556 $xIds = array(); 577 $xIds = array();
557 - if ($isScatter) { 578 + if ($isScatter || $isHisto) {
558 $crtXId = 0; 579 $crtXId = 0;
559 foreach ($paramsData as $paramData) { 580 foreach ($paramsData as $paramData) {
560 if ($paramData->{'param-drawing-object'}->{'serie-xaxis-param'} == '') 581 if ($paramData->{'param-drawing-object'}->{'serie-xaxis-param'} == '')
@@ -614,7 +635,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -614,7 +635,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
614 if (!empty($paramData->{'param-drawing-object'}->{'serie-colored-param'})) 635 if (!empty($paramData->{'param-drawing-object'}->{'serie-colored-param'}))
615 $colorSerieId = $drawingEltIndex; 636 $colorSerieId = $drawingEltIndex;
616 637
617 - $xId = ($isScatter && !empty($paramData->{'param-drawing-object'}->{'serie-xaxis-param'})) ? $xIds[$paramData->{'param-drawing-object'}->{'serie-xaxis-param'}] : -1; 638 + $xId = (($isScatter || $isHisto) && !empty($paramData->{'param-drawing-object'}->{'serie-xaxis-param'})) ? $xIds[$paramData->{'param-drawing-object'}->{'serie-xaxis-param'}] : -1;
618 639
619 switch ($paramData->{'param-drawing-type'}) { 640 switch ($paramData->{'param-drawing-type'}) {
620 case 'serie': 641 case 'serie':
@@ -629,6 +650,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -629,6 +650,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
629 $paramZInfo = NULL; 650 $paramZInfo = NULL;
630 $this->unmarshallHistogram2D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes'], $xId, $paramZInfo,$axesData); 651 $this->unmarshallHistogram2D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes'], $xId, $paramZInfo,$axesData);
631 break; 652 break;
  653 + case 'histogram1d':
  654 + $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']);
  655 + $this->unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes']);
  656 + break;
632 case 'orbit-serie': 657 case 'orbit-serie':
633 $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); 658 $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']);
634 $this->unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, -1, $xId, $colorSerieId, true); 659 $this->unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, -1, $xId, $colorSerieId, true);
@@ -766,6 +791,42 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass @@ -766,6 +791,42 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
766 } 791 }
767 } 792 }
768 793
  794 + protected function unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes)
  795 + {
  796 + $histogram1DNodes = array();
  797 + if ($paramData->{'param-drawing-object'}->{'histo1d-color'} == "none") {
  798 + $color = NULL;
  799 + } else {
  800 + $color = $this->hexColor2KernelColor($paramData->{'param-drawing-object'}->{'histo1d-color'});
  801 + }
  802 +
  803 + if (count($indexes) == 0) {
  804 + $histogram1DNode = $paramNode->addHistogram1DSerie($paramData->{'param-drawing-object'}->{'serie-yaxis'}, -1, $color);
  805 + if (isset($histogram1DNode)) {
  806 + $histogram1DNode->setId($paramData->{'id'});
  807 + $histogram1DNodes[] = $histogram1DNode;
  808 + }
  809 + }
  810 + foreach ($indexes as $index) {
  811 + $histogram1DNode = $paramNode->addHistogram1DSerie($paramData->{'param-drawing-object'}->{'serie-yaxis'}, $index, $color);
  812 + if (isset($histogram1DNode)) {
  813 + if (count($indexes) == 1)
  814 + $histogram1DNode->setId($paramData->{'id'});
  815 + $histogram1DNodes[] = $histogram1DNode;
  816 + }
  817 + }
  818 +
  819 + foreach ($histogram1DNodes as $histogram1DNode) {
  820 +
  821 + // xBinNumber
  822 + $histogram1DNode->getBins()->addManual1DBins($paramData->{'param-drawing-object'}->{'histo1d-xbinnumber'});
  823 +
  824 + // histotype, function
  825 + $histogram1DNode->getHistotype()->set1DFunction($paramData->{'param-drawing-object'}->{'histo1d-function'});
  826 +
  827 + }
  828 + }
  829 +
769 protected function unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes, $xId, $colorSerieId, $isOrbitSerie) 830 protected function unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes, $xId, $colorSerieId, $isOrbitSerie)
770 { 831 {
771 $serieNodes = array(); 832 $serieNodes = array();
src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php
@@ -340,16 +340,7 @@ class IHMParamManagerClass @@ -340,16 +340,7 @@ class IHMParamManagerClass
340 } 340 }
341 } 341 }
342 342
343 - if ($this->templateParamsManager->isTemplatedParam($linkedParamId)) {  
344 - $linkedParamPath = $this->templateParamsManager->generateTemplatedParamFile($linkedParamId, $tempArgs);  
345 - $real_linked_param_id = $this->templateParamsManager->getTemplatedParamId($linkedParamId, $tempArgs);  
346 - }  
347 - else {  
348 - $real_linked_param_id = $linkedParamId;  
349 - $linkedParamPath = IHMConfigClass::getLocalParamDBPath().$real_linked_param_id.".xml";  
350 - }  
351 - $paramsData->addParamToCopy($real_linked_param_id,$linkedParamPath);  
352 - $this->addLinkedLocalParams($linkedParamId, $paramsData); 343 + $this->addExistingParam($linkedParamId, $paramsData);
353 } 344 }
354 } 345 }
355 346
src/InputOutput/IHMImpl/Tools/IHMPlotContextFileClass.php
@@ -113,6 +113,8 @@ class IHMPlotContextFileClass @@ -113,6 +113,8 @@ class IHMPlotContextFileClass
113 $panelContext['plotArea']['y'] = $pageContext['height'] - intval($plotAreaNode->getAttribute('y')) - $panelContext['plotArea']['height']; 113 $panelContext['plotArea']['y'] = $pageContext['height'] - intval($plotAreaNode->getAttribute('y')) - $panelContext['plotArea']['height'];
114 $panelContext['plotArea']['width'] = intval($plotAreaNode->getAttribute('width')); 114 $panelContext['plotArea']['width'] = intval($plotAreaNode->getAttribute('width'));
115 } 115 }
  116 + //BG COLOR
  117 + $panelContext['plotArea']['plotAreaBackgroundColor'] = ($plotAreaNode->getAttribute('plotAreaBackgroundColor'));
116 118
117 //hasSpectro 119 //hasSpectro
118 $panelContext['plotArea']['hasSpectro'] = ($plotAreaNode->getAttribute('hasSpectro') == "true"); 120 $panelContext['plotArea']['hasSpectro'] = ($plotAreaNode->getAttribute('hasSpectro') == "true");
@@ -127,7 +129,8 @@ class IHMPlotContextFileClass @@ -127,7 +129,8 @@ class IHMPlotContextFileClass
127 'id' => $axisNode->getAttribute('id'), 129 'id' => $axisNode->getAttribute('id'),
128 'logarithmic' => ($axisNode->getAttribute('logarithmic') == "true"), 130 'logarithmic' => ($axisNode->getAttribute('logarithmic') == "true"),
129 'min' => floatval($axisNode->getAttribute('min')), 131 'min' => floatval($axisNode->getAttribute('min')),
130 - 'max' => floatval($axisNode->getAttribute('max')) 132 + 'max' => floatval($axisNode->getAttribute('max')),
  133 + 'colorsList' => $axisNode->getAttribute('colorsList')
131 ); 134 );
132 135
133 $panelContext['plotArea']['axes'][] = $axisContext; 136 $panelContext['plotArea']['axes'][] = $axisContext;
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotElementHistoNodeClass.php 0 โ†’ 100644
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
  1 +<?php
  2 +
  3 +require_once("RequestOutputPlotElementNodeClass.php");
  4 +
  5 +define ("REQUESTOUTPUTPLOTELEMENTHISTO_NAME", "histoPlot");
  6 +define ("REQUESTOUTPUTPLOTELEMENTHISTO_XAXISID", "xaxis_id");
  7 +
  8 +/**
  9 + * @class RequestOutputPlotElementXYNodeClass
  10 + * @brief Definition of a histogram plot element for a panel of a plot request
  11 + * @details
  12 +*/
  13 +class RequestOutputPlotElementHistoNodeClass extends RequestOutputPlotElementNodeClass
  14 +{
  15 + public function __construct()
  16 + {
  17 + parent::__construct(REQUESTOUTPUTPLOTELEMENTHISTO_NAME,true,false,false,false,false,false);
  18 + //create x axis
  19 + $this->getAxes()->addDigitalAxis(RequestOutputPlotAxisTypeEnum::XAXIS,REQUESTOUTPUTPLOTELEMENTHISTO_XAXISID);
  20 + //force color axis creation
  21 + $this->getAxes()->getColorAxis();
  22 + }
  23 +
  24 + public function getXAxis()
  25 + {
  26 + return $this->getAxes()->getDigitalAxis(RequestOutputPlotAxisTypeEnum::XAXIS,REQUESTOUTPUTPLOTELEMENTHISTO_XAXISID);
  27 + }
  28 +
  29 + public function addYAxis($id)
  30 + {
  31 + return $this->getAxes()->addDigitalAxis(RequestOutputPlotAxisTypeEnum::YAXIS,$id);
  32 + }
  33 +
  34 + public function getYAxis($id)
  35 + {
  36 + return $this->getAxes()->getDigitalAxis(RequestOutputPlotAxisTypeEnum::YAXIS,$id);
  37 + }
  38 +
  39 + public function getZAxis()
  40 + {
  41 + return $this->getAxes()->getColorAxis();
  42 + }
  43 +
  44 + public function loadFromNode($xmlNode)
  45 + {
  46 + parent::loadFromNode($xmlNode);
  47 + }
  48 +}
  49 +
  50 +?>
0 \ No newline at end of file 51 \ No newline at end of file
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotHistogram1DSerieNodeClass.php 0 โ†’ 100644
@@ -0,0 +1,120 @@ @@ -0,0 +1,120 @@
  1 +<?php
  2 +
  3 +require_once "RequestOutputPlotResamplingNodeClass.php";
  4 +require_once "RequestOutputPlotYSerieErrorBarNodeClass.php";
  5 +
  6 +define ("REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_NAME", "histogram1d");
  7 +define ("REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX", "index");
  8 +define ("REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_COLOR", "color");
  9 +
  10 +define ("REQUESTOUTPUTPLOTBINS_NAME", "bins");
  11 +define ("REQUESTOUTPUTPLOTBINS_MANUAL", "manual");
  12 +define ("REQUESTOUTPUTPLOTBINS_XBINNUMBER", "xbinnumber");
  13 +
  14 +define ("REQUESTOUTPUTPLOTHISTOTYPE_NAME", "histotype");
  15 +define ("REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION", "type");
  16 +/**
  17 + * @class RequestOutputPlotHistogram1DSerieNodeClass
  18 + * @brief Definition of a histogram1D for a plot of a plot request
  19 + * @details
  20 +*/
  21 +
  22 +class RequestOutputPlotBins1DNodeClass extends NodeClass
  23 +{
  24 + public function __construct($name)
  25 + {
  26 + parent::__construct($name);
  27 + }
  28 +
  29 + public function addManual1DBins($xBinNumber)
  30 + {
  31 + $node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBINS_MANUAL);
  32 +
  33 + if (!isset($node))
  34 + {
  35 + $node = new NodeClass(REQUESTOUTPUTPLOTBINS_MANUAL);
  36 + $this->addChild($node);
  37 + }
  38 +
  39 + $node->setAttribute(REQUESTOUTPUTPLOTBINS_XBINNUMBER, $xBinNumber);
  40 + return $node;
  41 + }
  42 +
  43 +}
  44 +
  45 +class RequestOutputPlotHistotype1DNodeClass extends NodeClass
  46 +{
  47 + public function __construct($name)
  48 + {
  49 + parent::__construct($name);
  50 + }
  51 +
  52 + public function set1DFunction($type){
  53 + $this->setAttribute(REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION, $type);
  54 + }
  55 + public function get1DFunction(){
  56 + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION);
  57 + }
  58 +}
  59 +
  60 +class RequestOutputPlotHistogram1DSerieNodeClass extends RequestOutputPlotBaseSerieNodeClass
  61 +{
  62 + public function __construct($name)
  63 + {
  64 + parent::__construct($name);
  65 + }
  66 +
  67 + public function getBins()
  68 + {
  69 + $node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBINS_NAME);
  70 +
  71 + if (!isset($node))
  72 + {
  73 + $node = new RequestOutputPlotBins1DNodeClass(REQUESTOUTPUTPLOTBINS_NAME);
  74 + $this->addChild($node);
  75 + }
  76 +
  77 + return $node;
  78 + }
  79 +
  80 + public function getHistotype()
  81 + {
  82 + $node = $this->getFirstChildByName(REQUESTOUTPUTPLOTHISTOTYPE_NAME);
  83 +
  84 + if (!isset($node))
  85 + {
  86 + $node = new RequestOutputPlotHistotype1DNodeClass(REQUESTOUTPUTPLOTHISTOTYPE_NAME);
  87 + $this->addChild($node);
  88 + }
  89 +
  90 + return $node;
  91 + }
  92 +
  93 + public function setColor($color)
  94 + {
  95 + $this->setAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_COLOR, $color);
  96 + }
  97 +
  98 + public function getColor()
  99 + {
  100 + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_COLOR);
  101 + }
  102 +
  103 + public function setIndex($index)
  104 + {
  105 + $this->setAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX, $index);
  106 + }
  107 +
  108 + public function getIndex()
  109 + {
  110 + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX);
  111 + }
  112 +
  113 + public function loadFromNode($xmlNode)
  114 + {
  115 + $this->setIndex($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX));
  116 + parent::loadFromNode($xmlNode);
  117 + }
  118 +}
  119 +
  120 +?>
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotPanelNodeClass.php
@@ -23,6 +23,7 @@ abstract class RequestOutputPlotElementTypeEnum @@ -23,6 +23,7 @@ abstract class RequestOutputPlotElementTypeEnum
23 { 23 {
24 const TIMEPLOT = "TimePlot"; 24 const TIMEPLOT = "TimePlot";
25 const XYPLOT = "XYPlot"; 25 const XYPLOT = "XYPlot";
  26 + const HISTOPLOT = "HistoPlot";
26 const STATUSPLOT = "StatusPlot"; 27 const STATUSPLOT = "StatusPlot";
27 const TICKPLOT = "TickPlot"; 28 const TICKPLOT = "TickPlot";
28 const EPOCHPLOT = "EpochPlot"; 29 const EPOCHPLOT = "EpochPlot";
@@ -107,6 +108,9 @@ class RequestOutputPlotPanelNodeClass extends NodeClass @@ -107,6 +108,9 @@ class RequestOutputPlotPanelNodeClass extends NodeClass
107 case RequestOutputPlotElementTypeEnum::XYPLOT: 108 case RequestOutputPlotElementTypeEnum::XYPLOT:
108 $node = new RequestOutputPlotElementXYNodeClass(); 109 $node = new RequestOutputPlotElementXYNodeClass();
109 break; 110 break;
  111 + case RequestOutputPlotElementTypeEnum::HISTOPLOT:
  112 + $node = new RequestOutputPlotElementHistoNodeClass();
  113 + break;
110 case RequestOutputPlotElementTypeEnum::STATUSPLOT: 114 case RequestOutputPlotElementTypeEnum::STATUSPLOT:
111 $node = new RequestOutputPlotElementStatusNodeClass($noAxes); 115 $node = new RequestOutputPlotElementStatusNodeClass($noAxes);
112 break; 116 break;
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotParamsNodeClass.php
@@ -115,6 +115,18 @@ class RequestOutputPlotParamNodeClass extends NodeClass @@ -115,6 +115,18 @@ class RequestOutputPlotParamNodeClass extends NodeClass
115 return $histogram2dNode; 115 return $histogram2dNode;
116 } 116 }
117 117
  118 + public function addHistogram1DSerie($yAxis, $index, $color)
  119 + {
  120 + $histogram1dNode = new RequestOutputPlotHistogram1DSerieNodeClass(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_NAME);
  121 + $histogram1dNode->setColor($color);
  122 + $histogram1dNode->setXAxisId(REQUESTOUTPUTPLOTELEMENTXY_XAXISID);
  123 + $histogram1dNode->setYAxisId($yAxis);
  124 + if ($index >= 0)
  125 + $histogram1dNode->setIndex($index);
  126 + $this->addChild($histogram1dNode);
  127 + return $histogram1dNode;
  128 + }
  129 +
118 public function addOrbitSerie($yAxis, $colorSerieId = -1) 130 public function addOrbitSerie($yAxis, $colorSerieId = -1)
119 { 131 {
120 $orbitSerieNode = new RequestOutputPlotOrbitSerieNodeClass(); 132 $orbitSerieNode = new RequestOutputPlotOrbitSerieNodeClass();