Dew Point jpGraph

This is what I use

<?php

//where are your clientraw*-files relative to where this file is

$hostloc = "../../";



include ("jp/src/jpgraph.php");//maybe you have to change this path

include ("jp/src/jpgraph_line.php");//maybe you have to change this path



//you dont have to change anything below this

//================================================================================================



// Create the graph and specify the scale for both Y-axis

$graph = new Graph(400,250,"auto",30);    

$graph->SetScale("textlin");

$graph->SetY2Scale("lin",0,100);

$graph->SetShadow();

$graph->SetMarginColor("blue");

$graph->img->SetAntiAliasing();



//$clientraw = get_raw("${hostloc}clientraw.txt");

$clientrawextra = get_raw("${hostloc}clientrawextra.txt");

//$clientrawdaily = get_raw ("${hostloc}clientrawdaily.txt");



//read the clientraw*-files we need

function get_raw( $rawfile ) {

$rawdata = array();

$fd = fopen($rawfile, "r");

if ($fd) {

$rawcontents = '';

while (! feof ($fd) ) {

$rawcontents .= fread($fd, 8192);

}

fclose($fd);

$delimiter = " ";

$rawdata = explode ($delimiter, $rawcontents);

} else {

$rawdata[0]= -9999;

}

return $rawdata;

}



//temp=========================================================================

$y=array($clientrawextra['21'],$clientrawextra['22'],$clientrawextra['23'],$clientrawextra['24'],

$clientrawextra['25'],$clientrawextra['26'],$clientrawextra['27'],$clientrawextra['28'],$clientrawextra['29'],

$clientrawextra['30'],$clientrawextra['31'],$clientrawextra['32'],$clientrawextra['33'],$clientrawextra['34'],

$clientrawextra['35'],$clientrawextra['36'],$clientrawextra['37'],$clientrawextra['38'],$clientrawextra['39'],

$clientrawextra['40'],$clientrawextra['566'],$clientrawextra['567'],$clientrawextra['568'],$clientrawextra['569']);

array_walk($y,'CtoF');

$ydata = $y;



//hum=============================================================================

$y=array($clientrawextra['611'],$clientrawextra['612'],$clientrawextra['613'],$clientrawextra['614'],

$clientrawextra['615'],$clientrawextra['616'],$clientrawextra['617'],$clientrawextra['618'],$clientrawextra['619'],

$clientrawextra['620'],$clientrawextra['621'],$clientrawextra['622'],$clientrawextra['623'],$clientrawextra['624'],

$clientrawextra['625'],$clientrawextra['626'],$clientrawextra['627'],$clientrawextra['628'],$clientrawextra['629'],

$clientrawextra['630'],$clientrawextra['631'],$clientrawextra['632'],$clientrawextra['633'],$clientrawextra['634']);

$y2data = $y;



$Tc[1] = $clientrawextra[21];

$Tc[2] = $clientrawextra[22];

$Tc[3] = $clientrawextra[23];

$Tc[4] = $clientrawextra[24];

$Tc[5] = $clientrawextra[25];

$Tc[6] = $clientrawextra[26];

$Tc[7] = $clientrawextra[27];

$Tc[8] = $clientrawextra[28];

$Tc[9] = $clientrawextra[29];

$Tc[10] = $clientrawextra[30];

$Tc[11] = $clientrawextra[31];

$Tc[12] = $clientrawextra[32];

$Tc[13] = $clientrawextra[33];

$Tc[14] = $clientrawextra[34];

$Tc[15] = $clientrawextra[35];

$Tc[16] = $clientrawextra[36];

$Tc[17] = $clientrawextra[37];

$Tc[18] = $clientrawextra[38];

$Tc[19] = $clientrawextra[39];

$Tc[20] = $clientrawextra[40];

$Tc[21] = $clientrawextra[566];

$Tc[22] = $clientrawextra[567];

$Tc[23] = $clientrawextra[568];

$Tc[24] = $clientrawextra[569];



$RH[1]= $clientrawextra[611];

$RH[2]= $clientrawextra[612];

$RH[3]= $clientrawextra[613];

$RH[4]= $clientrawextra[614];

$RH[5]= $clientrawextra[615];

$RH[6]= $clientrawextra[616];

$RH[7]= $clientrawextra[617];

$RH[8]= $clientrawextra[618];

$RH[9]= $clientrawextra[619];

$RH[10]= $clientrawextra[620];

$RH[11]= $clientrawextra[621];

$RH[12]= $clientrawextra[622];

$RH[13]= $clientrawextra[623];

$RH[14]= $clientrawextra[624];

$RH[15]= $clientrawextra[625];

$RH[16]= $clientrawextra[626];

$RH[17]= $clientrawextra[627];

$RH[18]= $clientrawextra[628];

$RH[19]= $clientrawextra[629];

$RH[20]= $clientrawextra[630];

$RH[21]= $clientrawextra[631];

$RH[22]= $clientrawextra[631];

$RH[23]= $clientrawextra[633];

$RH[24]= $clientrawextra[634];



//dew array in degrees F

$dewF = array();

for ($i = 1;$i < 25;$i++)

{

$dewF = array_merge($dewF,array(DEWF($Tc[$i],$RH[$i])));

}

//dew array in Celcius

$dewC = array();

for ($i = 1;$i < 25;$i++)

{

$dewC = array_merge($dewC,array(DEWC($Tc[$i],$RH[$i])));

}





//

//function

//

// Calculate dewF

function DEWF($Tc,$RH) {

         $Es=6.11*pow(10.0,(7.5*$Tc/(237.7+$Tc)));

         $E=($RH*$Es)/100;

         $Tdc=(-430.22+237.7*log($E))/(-log($E)+19.08);

         $Tdc= sprintf ("%01.1f", $Tdc);

		$Tdf = 1.8*$Tdc+32;

  return $Tdf;

} // end function calculate dewF



// Calculate dewC

function DEWC($Tc,$RH) {

         $Es=6.11*pow(10.0,(7.5*$Tc/(237.7+$Tc)));

         $E=($RH*$Es)/100;

         $Tdc=(-430.22+237.7*log($E))/(-log($E)+19.08);

         $Tdc= sprintf ("%01.1f", $Tdc);



  return $Tdc;

} // end function calculate dewC



// CtoF: converts degrees Celcius to degrees F

function CtoF(&$value) {

  return round($value = ((1.8* $value) + 32),1);

} // end function C_to_F



//create timearray for the x-axis

$n=1;

$limit=24;

$time=date(" H",time());

$datat=array($time);

$x=$datat;

//what you have to add

$add=3600;

$result=strtotime($time);

for ($n=1;$n++;)

{

$result=($result-$add);

$new=date('ga', $result);

$next=array("$new");

$datat= array_merge ($next,$datat);

if ($n>=$limit) break;

  }

$datat=array_merge($datat,$x);



// =====================================================================================

// From here we start creating the graphs

// =====================================================================================

// Box around plotarea

$graph->SetBox();

// No frame around the image

$graph->SetFrame(false);



// Setup the tab title

$graph->tabtitle->Set('Temperature, Dew & Humidity');

$graph->tabtitle->SetFont(FF_FONT1,FS_BOLD,10);

$graph->tabtitle->SetColor('navy','lightyellow','navy');



// Adjust the margin

$graph->img->SetMargin(55,40,25,55);



// Create the 3 linear plot

$lineplot=new LinePlot($ydata);

$lineplot2=new LinePlot($y2data);

$lineplot3=new LinePlot($dewF);



// Add the plot to the graph

$graph->Add($lineplot);

$graph->Add($lineplot3);

$graph->AddY2($lineplot2);

$lineplot2->SetWeight(2);



//x-axis

$graph->xaxis->title->Set(date("M j"));

$graph->xaxis->SetTickLabels($datat); 

$graph->xaxis->SetTextLabelInterval(2);

$graph->xaxis->HideTicks(true,true); 

$graph->xaxis->SetPos("min"); 

$graph->xgrid->Show(true);



//y-axis

$graph->yaxis->title->SetFont(FF_FONT1);

$graph->yaxis->SetColor("red");

$graph->yaxis->SetLabelFormat('%0.0f