我有来自JpGraph的这组代码来帮助我创建一个条形图。
<?php
require_once ('src/jpgraph.php');
require_once ('src/jpgraph_bar.php');
$datay=array(1992,1993,1995,1996,1997,1998,2001);
// Size of graph
$width=400;
$height=500;
// Set the basic parameters of the graph
$graph = new Graph($width,$height);
$graph->SetScale('textlin');
$top = 60;
$bottom = 30;
$left = 80;
$right = 30;
$graph->Set90AndMargin($left,$right,$top,$bottom);
// Nice shadow
$graph->SetShadow();
// Setup labels
$lbl = array("Andrew\nTait","Thomas\nAnderssen","Kevin\nSpacey","Nick\nDavidsson",
"David\nLindquist","Jason\nTait","Lorin\nPersson");
$graph->xaxis->SetTickLabels($lbl);
// Label align for X-axis
$graph->xaxis->SetLabelAlign('right','center','right');
// Label align for Y-axis
$graph->yaxis->SetLabelAlign('center','bottom');
// Titles
$graph->title->Set('Number of incidents');
// Create a bar pot
$bplot = new BarPlot($datay);
$bplot->SetFillColor('orange');
$bplot->SetWidth(0.5);
$bplot->SetYMin(1990);
?>
然而,这只有在我把它放在我的代码顶部时才有效。如果我把它放在其他地方,它将无法显示。有没有办法克服这个问题,以便如果我将代码专门放在一个地方,例如它下面会出现?另外,我将使用我自己的数据库中的一些数据作为此图的值。
谢谢。
答案 0 :(得分:1)
需要/包含在运行时解析,而不是在解析期间解析。这允许动态调用它们。因此,在强引用任何代码之前,必须才能完成。
要查看的其他方法是autoload,spl_autoload。这允许在第一次引用时加载类文件。
但是,根据您的评论,问题似乎是使用需要发送标头的JpGraph。您需要检查studentcourse.php
以查看是否生成了任何输出(包括无意的空格)。
答案 1 :(得分:1)
JpGraph创建一个显示的图像。您无法同时输出文本和图像。
答案 2 :(得分:0)
好吧,你无法逃避这样一个事实:当你调用new Graph()
时,该类应该已经存在,所以如果你在该行之后包含文件它将永远不会工作。
答案 3 :(得分:0)
生成图像,对吗?
我会把它放在一个文件中,然后在你想要图形显示的页面上,只需这样做:
<img src="myGraph.php">