Here is my temp-hum-dewpoint last 24 hour.
<?php
$hostloc = "./";
$clientrawextra = get_raw("${hostloc}clientrawextra.txt");
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;
}
//
// Create aray for y-axis
//
//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']);
$data = $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']);
$data2 = $y;
//---------------------
//calculation for dew -
//---------------------
$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 dewC
// 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,$key) {
$value = round($value = ((1.8* $value) + 32),1);
} // end function C_to_F
//----------------------------
//end of calculation for dew -
//----------------------------
//create timearray for the x-axis
$x=array($clientrawextra['459'],$clientrawextra['460'],$clientrawextra['461'],$clientrawextra['462'],
$clientrawextra['463'],$clientrawextra['464'],$clientrawextra['465'],$clientrawextra['466'],$clientrawextra['467'],
$clientrawextra['468'],$clientrawextra['469'],$clientrawextra['470'],$clientrawextra['471'],$clientrawextra['472'],
$clientrawextra['473'],$clientrawextra['474'],$clientrawextra['475'],$clientrawextra['476'],$clientrawextra['477'],
$clientrawextra['478'],$clientrawextra['578'],$clientrawextra['579'],$clientrawextra['580'],$clientrawextra['581']);
$datat = $x;
$y_min = round(min($dewF)-1);
//------------------------------------------
// use the chart class to build the chart: -
//------------------------------------------
include_once( 'ofc-library/open-flash-chart.php' );
$g = new graph();
// title
$g->title('Last 24 Hours Temperature - Dew Point - Humidity Data','{text-align:center; font-size:18px; color: #10C8CD; margin: 5px; background-color: #213240; padding:2px}');
$g->bg_colour = '#90AEC6';
$g->set_inner_background( '#DBE3F0', '#8D96A8', 45 );
//right axis (humidity)
//we do this first, so the others plot over the area
//otherwise, the others will be under the area and will not be clear(covered by the area)
$g->set_data( $data2 );
$g->area_hollow( 2, 4,25, '#213240', 'Humidity ', 12 );
$g->attach_to_y_right_axis(1);//see number 1, it is the 1st $g->set_data
$g->set_y_right_max( 100 );
$g->y_right_axis_colour( '#213240', '#213240' );
$g->set_y_right_label_style( 10, '#213240' );
// left axis (dew)
$g->set_data( $dewF );
$g->line_dot( 2,5, 'FAF93C', 'Dew', 12 );
$y_min = round(min($dewF)-5);
array_walk($data,'CtoF');
$y_max = round(max($data)+3);
$g->set_data( $data );
$g->line_dot( 2, 5, '#EC1559', 'Temp ', 12 );
$g->y_axis_colour( '#EC1559', '#000000' );
$g->set_y_label_style( 10, '#EC1559' );
// set the Y max and min and label-steps
$g->set_y_min( $y_min );
$g->set_y_max( $y_max );
$g->y_label_steps( 16 );
$g->set_tool_tip( '#key#<br>#x_label#<br> #val#' );
// label each point with its value
$g->set_x_labels($datat);
$g->set_x_axis_steps( 1 );
$g->x_axis_colour( '#213240', '#000000' );
$g->set_x_label_style( 12, '#213240', 2, 1, '#213240' );
$g->set_x_legend( 'Last 24 Hours', 12, '#213240' );
$g->set_y_legend( 'Temp °F', 12, '#EC1559' );
$g->set_y_right_legend( 'Humidity Percent', 12, '#213240' );
// display the data
echo $g->render();
?>
Chuck