У меня есть сценарий jpgraph, который анализирует URL-адрес для построения графика для меня следующим образом:
Как отправить данные X-Axis одновременно, поскольку мне нужно пропустить месяцы, а текущий метод не позволяет этого?
Я предполагаю, что это будет выглядеть примерно так:
/chart/jpgraph/graphmaker.php?a=(Jan','5)&b=(Feb','3)&c=(Jun','4)
Граф графа jpgraph в «graphmaker.php»:
<?php $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; $parsedurl = parse_url($url, PHP_URL_QUERY); parse_str($parsedurl); require_once 'src/jpgraph.php'; require_once 'src/jpgraph_line.php'; $datay1 = array($aa,$bb,$cc,$dd,$ee,$ff,$gg,$hh,$ii,$jj,$kk); $datay2 = array($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k); // Setup the graph $graph = new Graph(600,200); $graph->SetScale("textlin",1,5); $theme_class=new UniversalTheme; $graph->SetTheme($theme_class); $graph->img->SetAntiAliasing(false); $graph->SetBox(false); $graph->img->SetAntiAliasing(); $graph->yaxis->HideZeroLabel(); $graph->yaxis->HideLine(false); $graph->yaxis->HideTicks(false,false); $graph->xgrid->Show(); $graph->xgrid->SetLineStyle("solid"); $graph->xaxis->SetTickLabels(array('Sept','Oct','Nov','Dec','Jan','Feb','Mar','Apr','May','Jun','Jul')); $graph->xgrid->SetColor('#E3E3E3'); // Create the first line $p1 = new LinePlot($datay1); $graph->Add($p1); $p1->SetColor("#B22222"); $p1->SetLegend('Attitude'); // Create the second line $p2 = new LinePlot($datay2); $graph->Add($p2); $p2->SetColor("#6495ED"); $p2->SetLegend('Progress'); $graph->legend->SetFrameWeight(1); // Output line $graph->Stroke(); ?>
jpgraph позволяет пропускать поля с помощью «-». Я не смог решить эту проблему, но нашел обходной путь, перенаправляя набор данных как -, -, 2,4, -, 1, -, -, 5 и создавая URI следующим образом:
/jpgraph/graphmaker.php?a=-&b=-&c=2&d=4&e=-&f=1&g=-&h=-&i=5&j=-
это исправление работает и достигает желаемых результатов.
Я использовал @PandemoniumSyndicate совет здесь. В PHP сравните два массива, затем создайте новый массив на основе определенной структуры?
Затем добавили это, чтобы создать URI для перехода к jpgraph:
$urls = range('a', 'j'); $newArray = array_combine($urls, $ar3); $mine = array(); foreach ($newArray as $key => $value) { $mine[] = "$key=$value"; } $plov = implode('&',$mine);
URI для jpgraph:
/jpgraph/graphmaker.php?'.$plov.'
Наверное, это поможет другим