Blame | Letzte Änderung | Log anzeigen | RSS feed
<code><font color="#000000"><font color="#0000BB"><?php<br /></font><font color="#007700">include (</font><font color="#DD0000">"../jpgraph.php"</font><font color="#007700">);<br />include (</font><font color="#DD0000">"../jpgraph_line.php"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// The callback that converts timestamp to minutes and seconds<br /></font><font color="#007700">function </font><font color="#0000BB">TimeCallback</font><font color="#007700">(</font><font color="#0000BB">$aVal</font><font color="#007700">) {<br /> return </font><font color="#0000BB">Date</font><font color="#007700">(</font><font color="#DD0000">'H:i:s'</font><font color="#007700">,</font><font color="#0000BB">$aVal</font><font color="#007700">);<br />}<br /><br /></font><font color="#FF8000">// Fake some suitable random data<br /></font><font color="#0000BB">$now </font><font color="#007700">= </font><font color="#0000BB">time</font><font color="#007700">();<br /></font><font color="#0000BB">$datax </font><font color="#007700">= array(</font><font color="#0000BB">$now</font><font color="#007700">);<br />for( </font><font color="#0000BB">$i</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">; </font><font color="#0000BB">$i </font><font color="#007700">< </font><font color="#0000BB">360</font><font color="#007700">; </font><font color="#0000BB">$i </font><font color="#007700">+= </font><font color="#0000BB">10 </font><font color="#007700">) {<br /> </font><font color="#0000BB">$datax</font><font color="#007700">[] = </font><font color="#0000BB">$now </font><font color="#007700">+ </font><font color="#0000BB">$i</font><font color="#007700">;<br />}<br /></font><font color="#0000BB">$n </font><font color="#007700">= </font><font color="#0000BB">count</font><font color="#007700">(</font><font color="#0000BB">$datax</font><font color="#007700">);<br /></font><font color="#0000BB">$datay</font><font color="#007700">=array();<br />for( </font><font color="#0000BB">$i</font><font color="#007700">=</font><font color="#0000BB">0</font><font color="#007700">; </font><font color="#0000BB">$i </font><font color="#007700">< </font><font color="#0000BB">$n</font><font color="#007700">; ++</font><font color="#0000BB">$i </font><font color="#007700">) {<br /> </font><font color="#0000BB">$datay</font><font color="#007700">[] = </font><font color="#0000BB">rand</font><font color="#007700">(</font><font color="#0000BB">30</font><font color="#007700">,</font><font color="#0000BB">150</font><font color="#007700">);<br />}<br /><br /></font><font color="#FF8000">// Setup the basic graph<br /></font><font color="#0000BB">$graph </font><font color="#007700">= new </font><font color="#0000BB">Graph</font><font color="#007700">(</font><font color="#0000BB">324</font><font color="#007700">,</font><font color="#0000BB">250</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetMargin</font><font color="#007700">(</font><font color="#0000BB">40</font><font color="#007700">,</font><font color="#0000BB">40</font><font color="#007700">,</font><font color="#0000BB">30</font><font color="#007700">,</font><font color="#0000BB">70</font><font color="#007700">); <br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">title</font><font color="#007700">-></font><font color="#0000BB">Set</font><font color="#007700">(</font><font color="#DD0000">'Date: '</font><font color="#007700">.</font><font color="#0000BB">date</font><font color="#007700">(</font><font color="#DD0000">'Y-m-d'</font><font color="#007700">,</font><font color="#0000BB">$now</font><font color="#007700">));<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetAlphaBlending</font><font color="#007700">();<br /><br /></font><font color="#FF8000">// Setup a manual x-scale (We leave the sentinels for the<br />// Y-axis at 0 which will then autoscale the Y-axis.)<br />// We could also use autoscaling for the x-axis but then it<br />// probably will start a little bit earlier than the first value<br />// to make the first value an even number as it sees the timestamp<br />// as an normal integer value.<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">SetScale</font><font color="#007700">(</font><font color="#DD0000">"intlin"</font><font color="#007700">,</font><font color="#0000BB">0</font><font color="#007700">,</font><font color="#0000BB">200</font><font color="#007700">,</font><font color="#0000BB">$now</font><font color="#007700">,</font><font color="#0000BB">$datax</font><font color="#007700">[</font><font color="#0000BB">$n</font><font color="#007700">-</font><font color="#0000BB">1</font><font color="#007700">]);<br /><br /></font><font color="#FF8000">// Setup the x-axis with a format callback to convert the timestamp<br />// to a user readable time<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">xaxis</font><font color="#007700">-></font><font color="#0000BB">SetLabelFormatCallback</font><font color="#007700">(</font><font color="#DD0000">'TimeCallback'</font><font color="#007700">);<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">xaxis</font><font color="#007700">-></font><font color="#0000BB">SetLabelAngle</font><font color="#007700">(</font><font color="#0000BB">90</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Create the line<br /></font><font color="#0000BB">$p1 </font><font color="#007700">= new </font><font color="#0000BB">LinePlot</font><font color="#007700">(</font><font color="#0000BB">$datay</font><font color="#007700">,</font><font color="#0000BB">$datax</font><font color="#007700">);<br /></font><font color="#0000BB">$p1</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">"blue"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Set the fill color partly transparent<br /></font><font color="#0000BB">$p1</font><font color="#007700">-></font><font color="#0000BB">SetFillColor</font><font color="#007700">(</font><font color="#DD0000">"blue@0.4"</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Add lineplot to the graph<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">Add</font><font color="#007700">(</font><font color="#0000BB">$p1</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Output line<br /></font><font color="#0000BB">$graph</font><font color="#007700">-></font><font color="#0000BB">Stroke</font><font color="#007700">();<br /></font><font color="#0000BB">?><br /></font><br /><br /></font></code>