mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
git-svn-id: http://www.observium.org/svn/observer/trunk@358 61d68cd4-352d-0410-923a-c4978735b2b8
74 lines
6.9 KiB
HTML
74 lines
6.9 KiB
HTML
<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 is
|
|
basically a scatter plot where each scatter point is an arrow with a
|
|
direction between 0 to 359 degrees. This effectively allows the
|
|
visualization of 3 parameters at each point (x,y,angle). As an
|
|
additional bonus there is also possible to define a callback for each
|
|
scatter 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 plot
|
|
The 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> |