<?php // content="text/plain; charset=utf-8" require_once 'jpgraph/jpgraph.php'; require_once 'jpgraph/jpgraph_scatter.php'; $datax = array(3.5, 3.7, 3, 4, 6.2, 6, 3.5, 8, 14, 8, 11.1, 13.7); $datay = array(20, 22, 12, 13, 17, 20, 16, 19, 30, 31, 40, 43); $graph = new Graph(300, 200); $graph->img->SetMargin(40, 40, 40, 40); $graph->img->SetAntiAliasing(); $graph->SetScale("linlin"); $graph->SetShadow(); $graph->title->Set("Linked Scatter plot ex1"); $graph->title->SetFont(FF_FONT1, FS_BOLD); $sp1 = new ScatterPlot($datay, $datax); $sp1->SetLinkPoints(true, "red", 2); $sp1->mark->SetType(MARK_FILLEDCIRCLE); $sp1->mark->SetFillColor("navy"); $sp1->mark->SetWidth(3); $graph->Add($sp1); $graph->Stroke(); ?>
private function _renderPlotScatter($groupID, $bubble) { $grouping = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotGrouping(); $scatterStyle = $bubbleSize = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotStyle(); $seriesCount = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotSeriesCount(); $seriesPlots = array(); // Loop through each data series in turn for ($i = 0; $i < $seriesCount; ++$i) { $dataValuesY = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotCategoryByIndex($i)->getDataValues(); $dataValuesX = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getDataValues(); foreach ($dataValuesY as $k => $dataValueY) { $dataValuesY[$k] = $k; } $seriesPlot = new ScatterPlot($dataValuesX, $dataValuesY); if ($scatterStyle == 'lineMarker') { $seriesPlot->SetLinkPoints(); $seriesPlot->link->SetColor(self::$_colourSet[self::$_plotColour]); } elseif ($scatterStyle == 'smoothMarker') { $spline = new Spline($dataValuesY, $dataValuesX); list($splineDataY, $splineDataX) = $spline->Get(count($dataValuesX) * self::$_width / 20); $lplot = new LinePlot($splineDataX, $splineDataY); $lplot->SetColor(self::$_colourSet[self::$_plotColour]); $this->_graph->Add($lplot); } if ($bubble) { $this->_formatPointMarker($seriesPlot, 'dot'); $seriesPlot->mark->SetColor('black'); $seriesPlot->mark->SetSize($bubbleSize); } else { $marker = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotValuesByIndex($i)->getPointMarker(); $this->_formatPointMarker($seriesPlot, $marker); } $dataLabel = $this->_chart->getPlotArea()->getPlotGroupByIndex($groupID)->getPlotLabelByIndex($i)->getDataValue(); $seriesPlot->SetLegend($dataLabel); $this->_graph->Add($seriesPlot); } }
require_once 'jpgraph/jpgraph.php'; require_once 'jpgraph/jpgraph_scatter.php'; // Make a circle with a scatterplot $steps = 16; for ($i = 0; $i < $steps; ++$i) { $a = 2 * M_PI / $steps * $i; $datax[$i] = cos($a); $datay[$i] = sin($a); } $graph = new Graph(300, 200); $graph->SetScale("linlin"); $graph->img->SetMargin(40, 40, 40, 40); $graph->SetShadow(); $graph->title->Set("Linked scatter plot"); $graph->title->SetFont(FF_FONT1, FS_BOLD); // 10% top and bottom grace $graph->yscale->SetGrace(5, 5); $graph->xscale->SetGrace(1, 1); $sp1 = new ScatterPlot($datay, $datax); $sp1->mark->SetType(MARK_FILLEDCIRCLE); $sp1->mark->SetFillColor("red"); $sp1->SetColor("blue"); //$sp1->SetWeight(3); $sp1->mark->SetWidth(4); $sp1->SetLinkPoints(); $graph->Add($sp1); $graph->Stroke(); ?>