FreeSol-Bild.php: Unterschied zwischen den Versionen
Aus FreeSol-Wiki
(Die Seite wurde neu angelegt: „<pre> <?php // content="text/plain; charset=utf-8" require_once ('jpgraph/src/jpgraph.php'); require_once ('jpgraph/src/jpgraph_line.php'); $datum=$_GET["datum"…“) |
Keine Bearbeitungszusammenfassung |
||
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
<pre> | <pre> | ||
<?php // content="text/plain; charset=utf-8" | <?php // content="text/plain; charset=utf-8" | ||
// Version vom 6.12.2012 | |||
require_once ('jpgraph/src/jpgraph.php'); | require_once ('jpgraph/src/jpgraph.php'); | ||
| Zeile 39: | Zeile 41: | ||
$temp2=$datum.$praefix.'_bv.js'; | $temp2=$datum.$praefix.'_bv.js'; | ||
$files= array($temp2); | $files= array($temp2); | ||
| Zeile 50: | Zeile 51: | ||
if (count ($datumsteile ) ==3) { | if (count ($datumsteile ) ==3) { | ||
for ($i = 1; $i <= | for ($i = 1; $i <= 24; $i++) { // alt: 18, geändert 6.12.12 | ||
$zeilenteile =preg_split('/:/', $teile[$i] ); | $zeilenteile =preg_split('/:/', $teile[$i] ); | ||
$minutenzeilenwerte =preg_split('/ /', $zeilenteile[1] ); | $minutenzeilenwerte =preg_split('/ /', $zeilenteile[1] ); | ||
| Zeile 60: | Zeile 61: | ||
} | } | ||
$temp2=$datum.$praefix.'_ev.js'; | $temp2=$datum.$praefix.'_ev.js'; | ||
$files= array($temp2); | $files= array($temp2); | ||
| Zeile 71: | Zeile 71: | ||
if (count ($datumsteile ) ==3) { | if (count ($datumsteile ) ==3) { | ||
for ($i = 1; $i <= | for ($i = 1; $i <= 24; $i++) { // alt: 18, geändert 6.12.12 | ||
$zeilenteile =preg_split('/:/', $teile[$i] ); | $zeilenteile =preg_split('/:/', $teile[$i] ); | ||
$minutenzeilenwerte =preg_split('/ /', $zeilenteile[1] ); | $minutenzeilenwerte =preg_split('/ /', $zeilenteile[1] ); | ||
| Zeile 134: | Zeile 134: | ||
} | } | ||
$graph->xaxis->title->Set("Uhrzeit"); | |||
$graph->yaxis->title->Set("Leistung in W"); | |||
$graph->xaxis->SetTitlemargin(30); | |||
$graph->yaxis->SetTitlemargin(30); | |||
$graph->legend->SetFrameWeight(1); | $graph->legend->SetFrameWeight(1); | ||
Aktuelle Version vom 6. Dezember 2012, 08:57 Uhr
<?php // content="text/plain; charset=utf-8"
// Version vom 6.12.2012
require_once ('jpgraph/src/jpgraph.php');
require_once ('jpgraph/src/jpgraph_line.php');
$datum=$_GET["datum"];
$graphzahl=$_GET["graphzahl"];
$praefix=$_GET["praefix"];
$host=$_GET["url"];
$temp2=$datum.'minutesv.js';
$files= array($temp2);
$daten = file_get_contents($host.$files[0]);
$teile = preg_split('/\r\n/', $daten );
$datumsteile =preg_split('/\./', $teile[0] );
$solar = array();
$temp='leer';
for ($i = 1; $i <= 48; $i++) {
$solar[] ='0';
}
if (count ($datumsteile ) ==3) {
for ($i = 1; $i <= 18; $i++) {
$zeilenteile =preg_split('/:/', $teile[$i] );
$minutenzeilenwerte =preg_split('/ /', $zeilenteile[1] );
unset($minutenzeilenwerte[12]);
foreach ($minutenzeilenwerte as $minutenwert) {
$solar[] = $minutenwert;
}
}
}
for ($i = 1; $i <= 24; $i++) {
$solar[] ='0';
}
$temp2=$datum.$praefix.'_bv.js';
$files= array($temp2);
$daten = file_get_contents($host.$files[0]);
$teile = preg_split('/\r\n/', $daten );
$datumsteile =preg_split('/\./', $teile[0] );
$bezug = array();
$temp='leer';
if (count ($datumsteile ) ==3) {
for ($i = 1; $i <= 24; $i++) { // alt: 18, geändert 6.12.12
$zeilenteile =preg_split('/:/', $teile[$i] );
$minutenzeilenwerte =preg_split('/ /', $zeilenteile[1] );
unset($minutenzeilenwerte[12]);
foreach ($minutenzeilenwerte as $minutenwert) {
$bezug[] = $minutenwert;
}
}
}
$temp2=$datum.$praefix.'_ev.js';
$files= array($temp2);
$daten = file_get_contents($host.$files[0]);
$teile = preg_split('/\r\n/', $daten );
$datumsteile =preg_split('/\./', $teile[0] );
$einspeis = array();
$temp='leer';
if (count ($datumsteile ) ==3) {
for ($i = 1; $i <= 24; $i++) { // alt: 18, geändert 6.12.12
$zeilenteile =preg_split('/:/', $teile[$i] );
$minutenzeilenwerte =preg_split('/ /', $zeilenteile[1] );
unset($minutenzeilenwerte[12]);
foreach ($minutenzeilenwerte as $minutenwert) {
$einspeis [] = $minutenwert;
}
}
}
// Setup the graph
$graph = new Graph(400,300);
$graph->SetScale("textlin");
$graph->title->Set('Solarerzeugung '.$datum);
$graph->SetBox(false);
$graph->xgrid->Show(False);
//$graph->xgrid->SetLineStyle("solid");
//$graph->xgrid->SetColor('black'); //das ist der Hintergrund
// Erg㭺ungen
$graph->yaxis->SetColor("black");
$graph->yaxis->SetWeight(1);
$graph->ygrid->Show(true); //Gitterlinien (Hauptlinien, Nebenlinien)
$graph->ygrid->setcolor("black@0.8", "black@0.9");
$graph->ygrid->SetWeight(1,1);
$graph->yaxis->scale->ticks->Set(10,5); //Werte an Y-Achse
$graph->xgrid->Show(true); //Gitterlinien (Hauptlinien, Nebenlinien)
$graph->xgrid->setcolor("black@0.8", "black@0.9");
$graph->xgrid->SetWeight(1,1);
$tickPositions = array();
$tickLabels = array();
$tickPositions = array(35,71,107,143,179,215,251);
$tickLabels = array('03:00','06:00','09:00','12:00','15:00','18:00','21:00');
$graph->xaxis->SetMajTickPositions($tickPositions,$tickLabels);
// Create the first line
$p1 = new LinePlot($solar,$time4);
$graph->Add($p1);
$p1->SetColor("yellow");
$p1->SetLegend('Solar');
if ($graphzahl >1) {
// Create the second line
$p2 = new LinePlot($bezug,$time4);
$graph->Add($p2);
$p2->SetColor("blue");
$p2->SetLegend('Bezug');
// Create the third line
$p3 = new LinePlot($einspeis,$time4);
$graph->Add($p3);
$p3->SetColor("lime");
$p3->SetLegend('Einspeisung');
}
$graph->xaxis->title->Set("Uhrzeit");
$graph->yaxis->title->Set("Leistung in W");
$graph->xaxis->SetTitlemargin(30);
$graph->yaxis->SetTitlemargin(30);
$graph->legend->SetFrameWeight(1);
// Output line
$graph->Stroke();
?>