Пример #1
0
 public function testRemoveSeries()
 {
     $data = new pData();
     $data->addPoint(array(1, 2), 'testseries1');
     $data->addPoint(array(3, 4), 'testseries2');
     $data->addSeries('testseries1');
     $data->addSeries('testseries2');
     $this->assertEquals(array('Position' => 'Name', 'Format' => array('X' => 'number', 'Y' => 'number'), 'Unit' => array('X' => null, 'Y' => null), 'Values' => array('testseries1', 'testseries2')), $data->getDataDescription());
     $data->removeSeries('testseries1');
     $this->assertEquals(array('Position' => 'Name', 'Format' => array('X' => 'number', 'Y' => 'number'), 'Unit' => array('X' => null, 'Y' => null), 'Values' => array(1 => 'testseries2')), $data->getDataDescription());
 }
Пример #2
0
 public function testRemoveSeries()
 {
     $data = new pData();
     $data->addPoints(array(1, 2), 'testseries1');
     $data->addPoints(array(3, 4), 'testseries2');
     $data->addSeries('testseries1');
     $data->addSeries('testseries2');
     $this->assertEquals(array('testseries1', 'testseries2'), $data->getDataDescription()->values);
     $this->assertEquals(null, $data->getDataDescription()->description);
     $data->removeSeries('testseries1');
     $this->assertEquals(array(1 => 'testseries2'), $data->getDataDescription()->values);
 }
Пример #3
0
 /**
  * Draws a line or bargraph depending on the number of data points
  *
  * @param string $title the graph's title
  * @param array  $axis the axis points
  * @param array  $labels the labels for the datasets
  * @param array  $datasets any number of data arrays
  */
 private function accessgraph($title, $axis, $labels, $datasets)
 {
     if (!count($axis)) {
         $this->nograph($title . ': no data');
         return;
     }
     // add the data and labels
     $DataSet = new pData();
     foreach ($datasets as $num => $set) {
         $DataSet->AddPoints($set, "series{$num}");
         $DataSet->SetSeriesName($labels[$num], "series{$num}");
     }
     // setup axis
     $DataSet->AddPoints($axis, 'times');
     $DataSet->AddAllSeries();
     $DataSet->SetAbscissaLabelSeries('times');
     $DataSet->removeSeries('times');
     $DataSet->removeSeriesName('times');
     $Canvas = new GDCanvas(600, 300, false);
     $Chart = new pChart(600, 300, $Canvas);
     $usebargraph = count($axis) < 10;
     $Chart->setFontProperties(dirname(__FILE__) . '/../pchart/Fonts/DroidSans.ttf', 8);
     $Chart->setGraphArea(50, 40, 500, 200);
     $Chart->drawScale($DataSet, new ScaleStyle(SCALE_NORMAL, new Color(127)), 45, 1, $usebargraph);
     if ($usebargraph) {
         $Chart->drawBarGraph($DataSet->GetData(), $DataSet->GetDataDescription());
     } else {
         $Chart->drawLineGraph($DataSet->GetData(), $DataSet->GetDataDescription());
     }
     $Chart->drawLegend(500, 40, $DataSet->GetDataDescription(), new Color(250));
     $Chart->setFontProperties(dirname(__FILE__) . '/../pchart/Fonts/DroidSans.ttf', 12);
     $Chart->drawTitle(10, 10, $title, new Color(0), 590, 30);
     $Chart->Render(null);
 }