Sunny1245
Mitglied
Hallo liebes Board,
ich habe gerade ein (für mich) ehrgeiziges Projekt bekommen. Und zwar habe ich verschiedene Werte im 5-Minutentakt für die Stunden 04-21 Uhr gespeichert. Das heißt, das sind pro Tag dann 18 Stunden * 12 Werte = 216 Werte.
Folgendes will ich machen:
Ich habe ein kleines script im Internet gefunden welches mir mittels HTML Punkte für die x und y-Achse darstellt. Jetzt sollte Folgendes passieren: Werte kommen pro Stunde aus der DB. Diese 5-Minuten werte Bilden die Y Punkte, die Stundenanzahal (bsp. 04:05, 04:10) die X- Werte. Soweit so gut, soweit auch bereits passiert. Nur habe ich jetzt leider ein Problem damit diese Punkt eigentlich miteinander so zu verbinden das sie bestensfalls auch noch ein schönes Diagramm erstellen. Da habe ich PHP auch schonmal was von sin() und deg2grad() gehört. Aber ich habe leider keine Ahnung wie ich aus dem Werten die ja willkürlich sind (von 0 bis 5000) wie ich da am besten eine Funktion draus bastel.
Würde mich freuen wenn ihr Anregungen habt. Script was ich bisher habe, siehe unten:
ich habe gerade ein (für mich) ehrgeiziges Projekt bekommen. Und zwar habe ich verschiedene Werte im 5-Minutentakt für die Stunden 04-21 Uhr gespeichert. Das heißt, das sind pro Tag dann 18 Stunden * 12 Werte = 216 Werte.
Folgendes will ich machen:
Ich habe ein kleines script im Internet gefunden welches mir mittels HTML Punkte für die x und y-Achse darstellt. Jetzt sollte Folgendes passieren: Werte kommen pro Stunde aus der DB. Diese 5-Minuten werte Bilden die Y Punkte, die Stundenanzahal (bsp. 04:05, 04:10) die X- Werte. Soweit so gut, soweit auch bereits passiert. Nur habe ich jetzt leider ein Problem damit diese Punkt eigentlich miteinander so zu verbinden das sie bestensfalls auch noch ein schönes Diagramm erstellen. Da habe ich PHP auch schonmal was von sin() und deg2grad() gehört. Aber ich habe leider keine Ahnung wie ich aus dem Werten die ja willkürlich sind (von 0 bis 5000) wie ich da am besten eine Funktion draus bastel.
Würde mich freuen wenn ihr Anregungen habt. Script was ich bisher habe, siehe unten:
PHP:
<?php ### sinus.php ###
function make_point($x,$y,$class)
{
$point = "<span class=\"$class\" style=\"".
"Top:".round($y)."px; Left:".round($x)."px;\"></span>\n";
return $point;
}
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
$curve = '';
$y = 0;
for ($x = (float)0; $x < 720; $x+=1.0 )
{
$y_neu = round((sin(deg2rad($x))*150)+200);
#if ($y_neu != $y)
{
$curve .= make_point($x, $y_neu,'sinus');
}
#$y = $y_neu;
}
$line = '';
for ($x = (float)0; $x < 720; $x+=2.0 )
{
$line .= make_point($x, 200, 'line');
}
$circle = '';
$r = 100.0;
$r2 = $r*$r;
for ($x = -$r; $x <= $r; $x++)
{
$x2 = $x*$x;
$circle .= make_point($x + 100, 200.0 + sqrt($r2 - $x2), 'kreis');
$circle .= make_point($x + 100, 200.0 - sqrt($r2 - $x2), 'kreis');
}
###############################################################################
# HTML-Output
###############################################################################
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Sinus-Kurve</TITLE>
<style type="text/css">
<!--
.sinus
{
position:absolute;
font-size:1px;
width:1px;
height:1px;
background-color:red;
}
.kreis
{
position:absolute;
font-size:1px;
width:1px;
height:1px;
background-color:blue;
}
.line
{
position:absolute;
font-size:1px;
width:1px;
height:1px;
background-color:black;
}
-->
</style>
</HEAD>
<BODY>
<?php echo "\n".$curve; ?>
<?php echo "\n".$line; ?>
<?php echo "\n".$circle; ?>
</BODY>
</HTML>