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 />include </font><font color="#DD0000">"../jpgraph_scatter.php"</font><font color="#007700">;<br />include </font><font color="#DD0000">"../jpgraph_regstat.php"</font><font color="#007700">;<br /><br /></font><font color="#FF8000">// Original data points<br /></font><font color="#0000BB">$xdata </font><font color="#007700">= array(</font><font color="#0000BB">1</font><font color="#007700">,</font><font color="#0000BB">3</font><font color="#007700">,</font><font color="#0000BB">5</font><font color="#007700">,</font><font color="#0000BB">7</font><font color="#007700">,</font><font color="#0000BB">9</font><font color="#007700">,</font><font color="#0000BB">12</font><font color="#007700">,</font><font color="#0000BB">15</font><font color="#007700">,</font><font color="#0000BB">17.1</font><font color="#007700">);<br /></font><font color="#0000BB">$ydata </font><font color="#007700">= array(</font><font color="#0000BB">5</font><font color="#007700">,</font><font color="#0000BB">1</font><font color="#007700">,</font><font color="#0000BB">9</font><font color="#007700">,</font><font color="#0000BB">6</font><font color="#007700">,</font><font color="#0000BB">4</font><font color="#007700">,</font><font color="#0000BB">3</font><font color="#007700">,</font><font color="#0000BB">19</font><font color="#007700">,</font><font color="#0000BB">12</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Get the interpolated values by creating<br />// a new Spline object.<br /></font><font color="#0000BB">$spline </font><font color="#007700">= new </font><font color="#0000BB">Spline</font><font color="#007700">(</font><font color="#0000BB">$xdata</font><font color="#007700">,</font><font color="#0000BB">$ydata</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// For the new data set we want 40 points to<br />// get a smooth curve.<br /></font><font color="#007700">list(</font><font color="#0000BB">$newx</font><font color="#007700">,</font><font color="#0000BB">$newy</font><font color="#007700">) = </font><font color="#0000BB">$spline</font><font color="#007700">-></font><font color="#0000BB">Get</font><font color="#007700">(</font><font color="#0000BB">50</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Create the graph<br /></font><font color="#0000BB">$g </font><font color="#007700">= new </font><font color="#0000BB">Graph</font><font color="#007700">(</font><font color="#0000BB">300</font><font color="#007700">,</font><font color="#0000BB">200</font><font color="#007700">);<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">SetMargin</font><font color="#007700">(</font><font color="#0000BB">30</font><font color="#007700">,</font><font color="#0000BB">20</font><font color="#007700">,</font><font color="#0000BB">40</font><font color="#007700">,</font><font color="#0000BB">30</font><font color="#007700">);<br /></font><font color="#0000BB">$g</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">"Natural cubic splines"</font><font color="#007700">);<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">title</font><font color="#007700">-></font><font color="#0000BB">SetFont</font><font color="#007700">(</font><font color="#0000BB">FF_ARIAL</font><font color="#007700">,</font><font color="#0000BB">FS_NORMAL</font><font color="#007700">,</font><font color="#0000BB">12</font><font color="#007700">);<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">subtitle</font><font color="#007700">-></font><font color="#0000BB">Set</font><font color="#007700">(</font><font color="#DD0000">'(Control points shown in red)'</font><font color="#007700">);<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">subtitle</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'darkred'</font><font color="#007700">);<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">SetMarginColor</font><font color="#007700">(</font><font color="#DD0000">'lightblue'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">//$g->img->SetAntiAliasing();<br /><br />// We need a linlin scale since we provide both<br/>// x and y coordinates for the data points.<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">SetScale</font><font color="#007700">(</font><font color="#DD0000">'linlin'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// We want 1 decimal for the X-label<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">xaxis</font><font color="#007700">-></font><font color="#0000BB">SetLabelFormat</font><font color="#007700">(</font><font color="#DD0000">'%1.1f'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// We use a scatterplot to illustrate the original<br />// contro points.<br /></font><font color="#0000BB">$splot </font><font color="#007700">= new </font><font color="#0000BB">ScatterPlot</font><font color="#007700">(</font><font color="#0000BB">$ydata</font><font color="#007700">,</font><font color="#0000BB">$xdata</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// <br /></font><font color="#0000BB">$splot</font><font color="#007700">-></font><font color="#0000BB">mark</font><font color="#007700">-></font><font color="#0000BB">SetFillColor</font><font color="#007700">(</font><font color="#DD0000">'red@0.3'</font><font color="#007700">);<br /></font><font color="#0000BB">$splot</font><font color="#007700">-></font><font color="#0000BB">mark</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'red@0.5'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// And a line plot to stroke the smooth curve we got<br />// from the original control points<br /></font><font color="#0000BB">$lplot </font><font color="#007700">= new </font><font color="#0000BB">LinePlot</font><font color="#007700">(</font><font color="#0000BB">$newy</font><font color="#007700">,</font><font color="#0000BB">$newx</font><font color="#007700">);<br /></font><font color="#0000BB">$lplot</font><font color="#007700">-></font><font color="#0000BB">SetColor</font><font color="#007700">(</font><font color="#DD0000">'navy'</font><font color="#007700">);<br /><br /></font><font color="#FF8000">// Add the plots to the graph and stroke<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">Add</font><font color="#007700">(</font><font color="#0000BB">$lplot</font><font color="#007700">);<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">Add</font><font color="#007700">(</font><font color="#0000BB">$splot</font><font color="#007700">);<br /></font><font color="#0000BB">$g</font><font color="#007700">-></font><font color="#0000BB">Stroke</font><font color="#007700">();<br /><br /></font><font color="#0000BB">?><br /></font><br /></font></code>