本文整理汇总了PHP中PHPlot::SetOutputFile方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPlot::SetOutputFile方法的具体用法?PHP PHPlot::SetOutputFile怎么用?PHP PHPlot::SetOutputFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPlot
的用法示例。
在下文中一共展示了PHPlot::SetOutputFile方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: graficoBarra
function graficoBarra($data, $archivo = "", $meta_data = array('titulo' => 'Sin Título', 'tituloX' => 'Eje X', 'tituloY' => 'Eje Y', 'color' => 'SkyBlue', 'width' => 800, 'height' => 600, 'angle' => 45), $legend = array("Datos"))
{
# Objeto que crea el gráfico y su tama?o
$plot = new PHPlot($meta_data['width'], $meta_data['height']);
$plot->SetImageBorderType('plain');
# Setea el archivo donde se guarda la imagen generada y no permite la visualización inmediata
$plot->SetPrintImage(false);
$plot->SetFileFormat("jpg");
$plot->SetOutputFile($archivo);
$plot->SetIsInline(true);
# Envio de datos
$plot->SetDataValues($data);
# Tipo de gráfico y datos
$plot->SetDataType("text-data");
$plot->SetPlotType("bars");
# Setiando el True type font
//$plot->SetTTFPath(TTFPath);
//$plot->SetUseTTF(TRUE);
$plot->SetAxisFontSize(2);
$plot->SetVertTickIncrement(7);
//$plot->SetXTickLength(7);
//$plot->SetDataColors($meta_data['color']);
$plot->SetDataColors(array($meta_data['color'], 'red', 'white'));
$plot->SetLegendPixels(1, 1);
$plot->SetLegend($legend);
# Etiquetas del eje Y:
$plot->SetYTitle($meta_data['tituloY']);
$plot->SetYDataLabelPos('plotin');
# Título principal del gráfico:
$plot->SetTitle($meta_data['titulo']);
# Etiquetas eje X:
$plot->SetXTitle($meta_data['tituloX']);
if (isset($meta_data['angle'])) {
$plot->SetXLabelAngle($meta_data['angle']);
} else {
$plot->SetXLabelAngle(45);
}
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
# Método que dibuja el gráfico
$plot->DrawGraph();
$plot->PrintImage();
}
示例2: plotGraph
function plotGraph($data)
{
//Define the object
$plot = new PHPlot(800, 400);
$plot->SetIsInline(true);
$plot->SetOutputFile('phpplot2.png');
$example_data = $data;
$plot->SetDataValues($example_data);
$plot->SetDataType('data-data');
//Set titles
$plot->SetTitle("temp and humi");
$plot->SetXTitle('time');
$plot->SetYTitle('Y Data');
$legend = array('temp', 'humi', 'state');
$plot->SetLegend($legend);
$plot->SetXDataLabelAngle(90);
//$plot->SetXGridLabelType("time");
$plot->SetXTickLabelPos('xaxis');
$plot->SetXTickPos('plotdown');
$plot->SetXLabelType('time', '%H:%M');
$plot->TuneXAutoTicks(10, 'date');
// $plot->SetXTickIncrement(.5);
//$plot->SetXTickIncrement(60 * 24);
$plot->SetPlotType('lines');
//$plot->SetPlotAreaWorld(strtotime('00:00'), null, strtotime('23:59'), null);
$plot->SetDrawXGrid(true);
//Draw it
$plot->DrawGraph();
}
示例3: plotBarData
function plotBarData($dataArray, $title)
{
$data = array(array('Jan', 40, 2, 4), array('Feb', 30, 3, 4), array('Mar', 20, 4, 4), array('Apr', 10, 5, 4), array('May', 3, 6, 4), array('Jun', 7, 7, 4), array('Jul', 10, 8, 4), array('Aug', 15, 9, 4), array('Sep', 20, 5, 4), array('Oct', 18, 4, 4), array('Nov', 16, 7, 4), array('Dec', 14, 3, 4));
$data = $dataArray;
$plot = new PHPlot(400, 300);
$plot->SetIsInline(true);
$plot->SetOutputFile($title . '.png');
$plot->SetImageBorderType('plain');
$plot->SetPlotType('bars');
//$plot->SetPlotType('stackedbars');
//$plot->SetPlotType('lines');
$plot->SetDataType('text-data');
//$plot->SetDataType('data-data');
$plot->SetPlotAreaWorld(NULL, -10, NULL, 35);
$plot->SetDataValues($data);
$plot->SetDataColors(array('red', 'blue', 'green', 'yellow'));
# Main plot title:
$plot->SetTitle($title);
# No 3-D shading of the bars:
$plot->SetShading(0);
# Make a legend for the 3 data sets plotted:
$plot->SetLegend(array('min', 'avg', 'max'));
//$plot->SetLegendPosition(0, 0, 'image', 0, 0, 35, 5);
# Turn off X tick labels and ticks because they don't apply here:
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
$plot->DrawGraph();
}
示例4: elseif
$GraphTitle .= ' ' . _('For Salesperson:') . ' ' . $myrow[0];
$WhereClause .= " salesperson='" . $_POST['SalesmanCode'] . "' AND";
}
if ($_POST['GraphOn'] == 'Customer') {
$GraphTitle .= ' ' . _('For Customers from') . ' ' . $_POST['ValueFrom'] . ' ' . _('to') . ' ' . $_POST['ValueTo'];
$WhereClause .= " cust >='" . $_POST['ValueFrom'] . "' AND cust <='" . $_POST['ValueTo'] . "' AND";
}
if ($_POST['GraphOn'] == 'StockID') {
$GraphTitle .= ' ' . _('For Items from') . ' ' . $_POST['ValueFrom'] . ' ' . _('to') . ' ' . $_POST['ValueTo'];
$WhereClause .= " stockid >='" . $_POST['ValueFrom'] . "' AND stockid <='" . $_POST['ValueTo'] . "' AND";
}
$WhereClause = "WHERE " . $WhereClause . " salesanalysis.periodno>='" . $_POST['FromPeriod'] . "' AND salesanalysis.periodno <= '" . $_POST['ToPeriod'] . "'";
$SQL = "SELECT salesanalysis.periodno,\n\t\t\t\tperiods.lastdate_in_period,\n\t\t\t\tSUM(CASE WHEN budgetoractual=1 THEN " . $SelectClause . " ELSE 0 END) AS sales,\n\t\t\t\tSUM(CASE WHEN budgetoractual=0 THEN " . $SelectClause . " ELSE 0 END) AS budget\n\t\tFROM salesanalysis INNER JOIN periods ON salesanalysis.periodno=periods.periodno " . $WhereClause . "\n\t\tGROUP BY salesanalysis.periodno,\n\t\t\tperiods.lastdate_in_period\n\t\tORDER BY salesanalysis.periodno";
$graph->SetTitle($GraphTitle);
$graph->SetTitleColor('blue');
$graph->SetOutputFile('companies/' . $_SESSION['DatabaseName'] . '/reports/salesgraph.png');
$graph->SetXTitle(_('Month'));
if ($_POST['GraphValue'] == 'Net') {
$graph->SetYTitle(_('Sales Value'));
} elseif ($_POST['GraphValue'] == 'GP') {
$graph->SetYTitle(_('Gross Profit'));
} else {
$graph->SetYTitle(_('Quantity'));
}
$graph->SetXTickPos('none');
$graph->SetXTickLabelPos('none');
$graph->SetBackgroundColor('white');
$graph->SetTitleColor('blue');
$graph->SetFileFormat('png');
$graph->SetPlotType($_POST['GraphType']);
$graph->SetIsInline('1');
示例5: renderLot
public function renderLot()
{
$grafico = new PHPlot(800, 600);
$grafico->SetFileFormat("jpg");
$grafico->SetIsInline(True);
#Indicamos o títul do gráfico e o título dos dados no eixo X e Y do mesmo
$grafico->SetTitle($this->data->titulo);
$grafico->SetXTitle($this->data->eixoX);
$grafico->SetYTitle($this->data->eixoY);
#passamos o tipo de gráfico escolhido
if (!$this->data->tipoLot) {
$this->data->tipoLot = 'bars';
}
$grafico->SetPlotType($this->data->tipoLot);
switch ($this->data->tipoLot) {
case 'pie':
$grafico->SetPieLabelType('index', 'custom', 'mycallback');
$grafico->SetDataType('text-data-single');
break;
case 'stackedbars':
$grafico->SetDataType('text-data-yx');
break;
case 'bubbles':
$grafico->SetDataType('data-data-xyz');
break;
}
$grafico->SetLegend($column_names);
#Definimos os dados do gráfico
switch ($this->data->tipoLot) {
case 'pie':
$dados = array(array($this->data->x1, $this->data->y11), array($this->data->x2, $this->data->y21), array($this->data->x3, $this->data->y31), array($this->data->x4, $this->data->y41));
break;
default:
$dados = array(array($this->data->x1, $this->data->y11, $this->data->y12, $this->data->y13), array($this->data->x2, $this->data->y21, $this->data->y22, $this->data->y23), array($this->data->x3, $this->data->y31, $this->data->y32, $this->data->y33), array($this->data->x4, $this->data->y41, $this->data->y42, $this->data->y43));
break;
}
$grafico->SetDataValues($dados);
#Salvamos o gráfico
$caminho = \Manager::getFilesPath();
$fileName = uniqid() . '.jpg';
$grafico->SetOutputFile($caminho . '/' . $fileName);
$grafico->SetIsInline(True);
$grafico->DrawGraph();
#obtemos o endereco do grafico
$this->data->locate = \Manager::getDownloadURL('files', basename($fileName), true);
}
示例6: BuatBarGraph
function BuatBarGraph($filetujuan, $prevtahun, $tahun, $arrStatusAplikan, $urutan, $gel)
{
$arrPrevTotal = array();
$arrCurTotal = array();
FillArrayPeriod($arrPrevTotal, $arrStatusAplikan, $prevtahun, $gel);
FillArrayPeriod($arrCurTotal, $arrStatusAplikan, $tahun, $gel);
$maxPrevHeight = 0;
$maxCurHeight = 0;
foreach ($arrStatusAplikan as $stat) {
$data[] = array($stat, $arrPrevTotal[$stat], $arrCurTotal[$stat]);
$maxPrevHeight = $maxPrevHeight < $arrPrevTotal[$stat] ? $arrPrevTotal[$stat] : $maxPrevHeight;
$maxCurHeight = $maxCurHeight < $arrCurTotal[$stat] ? $arrCurTotal[$stat] : $maxCurHeight;
}
$plot = new PHPlot(800, 600);
//$plot->SetImageBorderType('raised');
$plot->SetFont('y_label', 5);
$plot->SetFont('x_label', 5);
$plot->SetFont('title', 5);
$plot->SetFont('legend', 5);
$plot->setShading(10);
$plot->SetPlotType('bars');
$plot->SetDataType('text-data');
$plot->SetDataValues($data);
$plot->SetTitle('GRAFIK & DATA PMB GEL SISIPAN');
$plot->SetLegend(array($prevtahun, $tahun));
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
$maxHeight = $maxPrevHeight < $maxCurHeight ? $maxCurHeight : $maxPrevHeight;
$increment = $maxHeight <= 50 ? 5 : ($maxHeight <= 100 ? 10 : ($maxHeight <= 500 ? 50 : 100));
$plot->SetYTickIncrement($increment);
$plot->SetYDataLabelPos('plotin');
$plot->SetIsInline(true);
$plot->SetOutputFile($filetujuan);
$plot->DrawGraph();
}
示例7: BuatPieGraph
function BuatPieGraph($filetujuan, $prevtahun, $tahun, $urutan, $gel)
{
$fg = GetaField("pmb b left outer join pmbperiod p on b.PMBPeriodID=p.PMBPeriodID and b.KodeID=p.KodeID and LEFT(p.PMBPeriodID, 4)='{$tahun}'", "(b.TahunLulus='{$prevtahun}' or b.TahunLulus='{$tahun}') and b.KodeID", KodeID, "count(b.PMBID)");
$nfg = GetaField("pmb b left outer join pmbperiod p on b.PMBPeriodID=p.PMBPeriodID and b.KodeID=p.KodeID and LEFT(p.PMBPeriodID, 4)='{$tahun}'", "b.TahunLulus < '{$prevtahun}' and b.KodeID", KodeID, "count(b.PMBID)");
$data = array(array('Fresh Graduate', $fg), array('Non Fresh Graduate', $nfg));
$plot = new PHPlot(800, 600);
//$plot->SetImageBorderType('raised');
$plot->SetPlotType('pie');
$plot->SetDataType('text-data-single');
$plot->SetDataValues($data);
$plot->SetDataColors(array('red', 'blue', 'green', 'yellow', 'cyan', 'magenta', 'brown', 'lavender', 'pink', 'gray', 'orange'));
$plot->setShading(60);
$plot->SetLabelScalePosition(0.2);
$plot->SetFont('generic', 5);
$plot->SetFont('title', 5);
$plot->SetFont('legend', 5);
$plot->SetTitle("Persentase Calon Mahasiswa Fresh / non Fresh Graduate");
foreach ($data as $row) {
$plot->SetLegend(implode(': ', $row));
}
$plot->SetIsInline(true);
$plot->SetOutputFile($filetujuan);
$plot->DrawGraph();
}
示例8: array
<?php
# $Id$
# PHPlot error test - argument error with returning handler, redo the graph.
require 'esupport.php';
set_error_handler('test_catch_return');
require_once 'phplot.php';
$data = array(array('a', 1, 1), array('b', 2, 3), array('c', 3, 5));
$plot = new PHPlot();
# Don't do any output of the error image:
$plot->SetIsInline(True);
$plot->SetOutputFile('/dev/null');
if (!$plot->SetDataType('data-text')) {
restore_error_handler();
fwrite(STDERR, "Return after error. Destroy object and try again\n");
unset($plot);
$plot = new PHPlot();
$plot->SetDataType('data-data');
}
$plot->SetDataValues($data);
$plot->SetPlotType('lines');
$plot->SetOutputFile('');
$plot->DrawGraph();
示例9: do_graph
/**
* drawing the graph for a evaluation question
*
* @param array() $data
* @param string $evalquestion_id
*/
function do_graph($data, $evalquestion_id)
{
global $tmp_path_export, $auth, $PATH_EXPORT;
$type = do_graph_template();
//Define the object
if ($type == "pie") {
// Beim pie muss die Zeichenflaeche etwas groesser gewaehlt werden...
$graph = new PHPlot(500, 300);
} else {
$graph = new PHPlot(300, 250);
}
if ($type == "pie") {
// Beim pie muss das Array umgeformt werden. Bug in PHPlot?
$tmp = array();
$tmp2 = array();
$legend = array();
array_push($tmp, "Test");
foreach ($data as $k => $d) {
array_push($tmp, $d[1]);
array_push($legend, $d[0]);
}
array_push($tmp2, $tmp);
$data = $tmp2;
$graph->SetLegend($legend);
}
//Data Colors
$graph->SetDataColors(array("blue", "green", "yellow", "red", "PeachPuff", "orange", "pink", "lavender", "navy", "peru", "salmon", "maroon", "magenta", "orchid", "ivory"), array("black"));
$max_x = max(array_map('next', $data));
$graph->SetPlotAreaWorld(NULL, 0);
// y-achse bei 0 starten
$graph->SetPrecisionY(0);
//anzahl kommastellen y-achse
$graph->SetYTickIncrement($max_x < 10 ? 1 : round($max_x / 10));
$graph->SetPlotBgColor(array(222, 222, 222));
$graph->SetDataType("text-data");
$graph->SetFileFormat(Config::get()->EVAL_AUSWERTUNG_GRAPH_FORMAT);
$graph->SetOutputFile($tmp_path_export . "/evalsum" . $evalquestion_id . $auth->auth["uid"] . "." . Config::get()->EVAL_AUSWERTUNG_GRAPH_FORMAT);
$graph->SetIsInline(true);
$graph->SetDataValues($data);
$graph->SetPlotType($type);
$graph->SetXLabelAngle(count($data) < 10 ? 0 : 90);
//$graph->SetShading(0); // kein 3D
$graph->SetLineWidth(1);
$graph->SetDrawXDataLabels(true);
//Draw it
$graph->DrawGraph();
}
示例10: makePngGraph
/**
* Generate a graph for this tag
* @param string $tag
* @param string $filePath
* @return bool, success
*/
public function makePngGraph( $tag, $filePath ) {
if( !function_exists( 'ImageCreate' ) ) {
// GD is not installed
return false;
}
global $wgPHPlotDir, $wgMemc;
require_once( "$wgPHPlotDir/phplot.php" ); // load classes
// Define the object
$plot = new PHPlot( 1000, 400 );
// Set file path
$dir = dirname($filePath);
// Make sure directory exists
if( !file_exists($dir) && !wfMkdirParents( $dir, 0777, __METHOD__ ) ) {
throw new MWException( 'Could not create file directory!' );
}
$plot->SetOutputFile( $filePath );
$plot->SetIsInline( true );
$data = array();
$totalVal = $totalCount = $n = 0;
// Define the data using the DB rows
list($res,$u,$maxC,$days) = $this->doQuery( $tag );
if( !$maxC ) {
return false;
}
// Label spacing
$int = intval( ceil($days/10) ); // 10 labels at most
foreach( $res as $row ) {
$totalVal += (int)$row->rfh_total;
$totalCount += (int)$row->rfh_count;
$dayCount = (real)$row->rfh_count;
if( !$row->rfh_count ) {
continue; // bad data
}
// Nudge values up by 1
$dayAve = 1 + (real)$row->rfh_total/(real)$row->rfh_count;
$cumAve = 1 + (real)$totalVal/(real)$totalCount;
$year = intval( substr( $row->rfh_date, 0, 4 ) );
$month = intval( substr( $row->rfh_date, 4, 2 ) );
$day = intval( substr( $row->rfh_date, 6, 2 ) );
# Fill in days with no votes to keep spacing even
if( isset($lastDate) ) {
$dayGap = wfTimestamp(TS_UNIX,$row->rfh_date) - wfTimestamp(TS_UNIX,$lastDate);
$x = intval( $dayGap/86400 );
# Day gaps...
for( $x; $x > 1; --$x ) {
$data[] = array("",$lastDAve,$lastRAve,0);
$n++;
}
}
$n++;
# Label point?
if( $n >= $int || !count($data) ) {
$p = ($days > 31) ? "{$month}-".substr( $year, 2, 2 ) : "{$month}/{$day}";
$n = 0;
} else {
$p = "";
}
$data[] = array( $p, $dayAve, $cumAve, $dayCount );
$lastDate = $row->rfh_date;
$lastDAve = $dayAve;
$lastRAve = $cumAve;
}
// Minimum sample size
if( count($data) < 2 ) {
return false;
}
// Re-scale voter count to fit to graph
$this->dScale = ceil($maxC/5);
// Cache the scale value to memory
$key = wfMemcKey( 'feedback', 'scale', $this->page->getArticleId(), $this->period );
$wgMemc->set( $key, $this->dScale, 7*24*3600 );
// Fit to [0,4]
foreach( $data as $x => $dataRow ) {
$data[$x][3] = $dataRow[3]/$this->dScale;
}
$plot->SetDataValues($data);
$plot->SetPointShapes( array('dot','dot','dot') );
$plot->setPointSizes( array(1,1,4) );
$plot->SetDataColors( array('blue','green','red') );
$plot->SetLineStyles( array('solid','solid','solid') );
$plot->SetBackgroundColor('#F8F8F8');
// Turn off X axis ticks and labels because they get in the way:
$plot->SetXTickLabelPos('none');
$plot->SetXTickPos('none');
$plot->SetYTickIncrement( .5 );
// Set plot area
$plot->SetPlotAreaWorld( 0, 0, null, 5 );
// Show total number of votes
$plot->SetLegend( array("#{$totalCount}") );
// Draw it!
$plot->DrawGraph();
return true;
}