/** * draw * @desc php method to simulate Google's default draw method * @param array|Google_Data_View $data * @param array $options * @return void */ public function draw($data, $options = null) { $this->options = $options; $arr = array(); if ($data instanceof Google_Data_View) { $arr[] = $data->getViewTable(); } else { $this->dataTable = $data; $arr[] = $data; } if ($options) { $_options = $options->getProperties(); if ($_options instanceof Google_Config_Default or $_options instanceof stdClass) { $arr[] = Google_Base::toJSON($_options); } else { $arr[] = $options->getProperties(); } } else { $arr[] = 'null'; } $this->properties[__FUNCTION__][] = $arr; }
$options = null; $chart = new Google_Chart("Table", $dataVar); $chart->draw($dataTable, $options); echo Google_Base::getVarById($dataVar) . "\n"; echo Google_Base::getVarById($dataVar2) . "\n"; echo Google_Base::getVarById($dataVar3) . "\n"; echo $chart; $dataView = new Google_Data_View(); $dataView->setViewTable("dataView1"); $dataView->setDataTable($dataTable); $dataView->setColumns(array(0, 2)); echo $dataView; $chart2 = new Google_Chart("Table", $dataVar2); $chart2->draw($dataView, $options); echo $chart2; $dataView2 = new Google_Data_View(); $dataView2->setViewTable("dataView2"); $dataView2->setDataTable($dataTable); $dataView2->setColumns(array(0, 1, 3)); echo $dataView2; $chart3 = new Google_Chart("Table", $dataVar3); $chart3->draw($dataView2, $options); echo $chart3; ?> } google.setOnLoadCallback(drawVisualization); </script> </head> <body style="font-family: Arial;border: 0 none;"> <div>Original Data Table</div> <div id="table1"></div>
<?php include_once 'Google.merge.v_1_0.php'; // main $v = new Google_Visualization("Table_Format"); // config $c = new Google_Config("Table"); $c->setAllowHtml(true); // using dynamic setter $c->setShowRowNumber(true); // format $f = new Google_Format_Pattern(); $f->pattern('<a href="mailto:{1}">{0}</a>'); $f->format("data", array(0, 1)); // data view $d = new Google_Data_View(); $d->setColumns(array(0)); // data $o = Google_Data::getInstance()->getDataObject(); $o->addColumn("0", "Name", "string"); $o->addColumn("1", "Email", "string"); $o->addNewRow(); $o->addStringCellToRow("Tom"); $o->addStringCellToRow("*****@*****.**"); $o->addNewRow(); $o->addStringCellToRow("Mike"); $o->addStringCellToRow("*****@*****.**"); $v->setConfig($c); $v->setData($o); $v->setFormat($f); $v->setDataView($d);