Blame | Letzte Änderung | Log anzeigen | RSS feed
<style type="text/css"><!--A:link {font-family: helvetica, arial, geneva, sans-serif; font-size: x-small; text-decoration: none; color: #0000ff}A:visited {font-family: helvetica, arial, geneva, sans-serif; font-size: x-small; text-decoration: none; color: #0000ff}A:hover {font-family: helvetica, arial, geneva, sans-serif; font-size: x-small; text-decoration: underline; color: #FF0000}th {font-family: helvetica, arial; color : blue; font-size:85%; background : lightgrey; border-right:black solid 1pt; border-bottom:black solid 1pt;}//--></style><hr><a name="_C_FIELDPLOT"><div style="background-color:yellow;font-family:courier new;"></a>CLASS <b>FieldPlot</b> EXTENDS <a href="Plot .html#_C_PLOT " style="font-face:arial;font-weight:bold;">Plot </a></div><i>(Defined in: jpgraph_scatter.php : 63)</i><table border=1><tr><td> <a href="FieldPlot.html" style="font-family:arial;font-weight:bold;color:darkblue;">FieldPlot</a> </td><td> <a href="Plot .html" style="font-family:arial;font-weight:bold;color:darkblue;">Plot </a> </td></tr><tr><td valign=top> <a href="FieldPlot.html#_FIELDPLOT_FIELDPLOT">FieldPlot()</a> <br> <a href="FieldPlot.html#_FIELDPLOT_SETCALLBACK">SetCallback()</a> <br></td><td valign=top> </td></tr></table> <p><div style="font-weight:bold;font-family:arial;font-size:100%;">Class usage and Overview</div>A variant of scatter plot is the so called <i>Field Plots</i> this isbasically a scatter plot where each scatter point is an arrow with adirection between 0 to 359 degrees. This effectively allows thevisualization of 3 parameters at each point (x,y,angle). As anadditional bonus there is also possible to define a callback for eachscatter plot to also define the color for each point. <p> <div style="font-weight:bold;font-family:arial;font-size:85%;">See also related classes:</div><a href="FieldArrow.html">FieldArrow</a> <p> <hr><span style="font-family:arial;font-size:120%;font-weight:bold;">Class Methods</span><hr><p><p> <p> <span style='font-size:110%;'><a name="_FIELDPLOT_FIELDPLOT"><div style="border-top:solid black 2pt;background-color:lightblue;font-family:courier new;font-size:90%;font-weight:bold;"><b><font color="#000000">function FieldPlot($datay,$datax,$angles)</font></b></div></a></span><span style='font-family:arial;font-size:90%;'><i>Create an instance of FieldPlot</i></span><p><table cellspacing=0 style='border:black solid 1pt;' width=100%><tr><th width=25%>Argument</th><th width=15%>Default</th><th width=60%>Description</th></tr><tr><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'><font color="#000000">$datay</font></td><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'> </td><td>Y-coordinate</td></tr><tr><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'><font color="#000000">$datax</font></td><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'> </td><td>X-coordinate</td></tr><tr><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'><font color="#000000">$angles</font></td><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'> </td><td>Angle</td></tr></table><div style="font-weight:bold;font-family:arial;font-size:85%;">Description</div>Create a new instance of a field plot <br><div style="font-weight:bold;font-family:arial;font-size:85%;"><p>Example</div><span style="font-family:courier;font-size:85%;"><font color="#000000">$fp = new FieldPlot($datay,$datax,$angle);</font></span><br><p><p> <p> <span style='font-size:110%;'><a name="_FIELDPLOT_SETCALLBACK"><div style="border-top:solid black 2pt;background-color:lightblue;font-family:courier new;font-size:90%;font-weight:bold;"><b><font color="#000000">function SetCallback($aFunc)</font></b></div></a></span><span style='font-family:arial;font-size:90%;'><i>Specify callback for each arrow in the field plot</i></span><p><table cellspacing=0 style='border:black solid 1pt;' width=100%><tr><th width=25%>Argument</th><th width=15%>Default</th><th width=60%>Description</th></tr><tr><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'><font color="#000000">$aFunc</font></td><td style='border-right:black solid 1pt;font-family:courier;font-size:90%;font-weight:bold;'> </td><td>Function name</td></tr></table><div style="font-weight:bold;font-family:arial;font-size:85%;">Description</div>Specify a callback that gets clled for each arrow in the field plotThe callback should return an array with the elements<ol><li> Color<li> Size of arrow (in pixels)<li> Arrow head size (as integer between0 and 9)</ol> <br><div style="font-weight:bold;font-family:arial;font-size:85%;"><p>Example</div><span style="font-family:courier;font-size:85%;"><font color="#000000">// Gradient. Make the arrows red at the pole and colder (blue) <br />// teh further we get from the pole <br />function FldCallback($x,$y,$a) { <br /> $polex=4; <br /> $poley=40; <br /> $maxr = 3000; <br /> <br /> // Size and arrow size is constant <br /> $size=""; <br /> $arrowsize=""; <br /> <br /> // Since we have different scales we need the data points <br /> // to be of the same magnitude to give it a distance <br /> // interpretation. <br /> $x *= 10; <br /> <br /> // Colors gets colder the further out we go from the center <br /> $r = ($x-$polex*10)*($x-$polex*10)+($y-$poley)*($y-$poley); <br /> $f = $r/$maxr; <br /> if( $f > 1 ) $f=1; <br /> $red = floor((1-$f)*255); <br /> $blue = floor($f*255); <br /> $color = array($red,0,$blue); <br /> return array($color,$size,$arrowsize); <br />} <br /> <br />// Setup the field plot <br />$fp = new FieldPlot($datay,$datax,$angle); <br /> <br />// Setup formatting callback <br />$fp->SetCallback('FldCallback');</font></span><br><p> <hr> <p>