Hi,
ich möchte gerne Daten aus meiner Datenbank in einem Liniendiagramm darstellen. Dabei bin ich auf jpgraph gestoßen, was auch bislang in einem separaten Test-Skript gut funktioniert.
Nun möchte ich das in mein Haupt-Skript einbauen.
Allgemein geht es darum, dass ich ein paar Verbrauchswerte darstellen möchte, also x-Achse = Zeit und y-Achse = Wert.
Die, die mir schon bei meinem letzten Problem geholfen haben, werden sich noch vielleicht daran erinnern, dass der Benutzer zuerst aus einer Liste das Jahr auswählt und dann pro Monat ein Datensatz mit Verbäuchen angezeigt bekommt. Pro Jahr also 12 Datensätze.
Für das ausgewählte Jahr möchte ich nun anhand der Verbrauchsdaten ein Liniendiagramm erstellen, beispielsweise erstmal nur für den Stromverbrauch.
Hierfür habe ich einen zusätzlichen Button eingefügt, wenn er gedrückt wird, soll die Grafik erstellt werden.
Folgendes habe ich bislang:
Alles anzeigen
Das Problem liegt wahrscheinlich irgendwo bei der Select-Abfrage. Die Darstellung vom Graphen sollte passen, die übergebenen Daten allerdings nicht, weil nämlich nichs passiert
Ich hoffe, ihr könnt mir helfen
ich möchte gerne Daten aus meiner Datenbank in einem Liniendiagramm darstellen. Dabei bin ich auf jpgraph gestoßen, was auch bislang in einem separaten Test-Skript gut funktioniert.
Nun möchte ich das in mein Haupt-Skript einbauen.
Allgemein geht es darum, dass ich ein paar Verbrauchswerte darstellen möchte, also x-Achse = Zeit und y-Achse = Wert.
Die, die mir schon bei meinem letzten Problem geholfen haben, werden sich noch vielleicht daran erinnern, dass der Benutzer zuerst aus einer Liste das Jahr auswählt und dann pro Monat ein Datensatz mit Verbäuchen angezeigt bekommt. Pro Jahr also 12 Datensätze.
Für das ausgewählte Jahr möchte ich nun anhand der Verbrauchsdaten ein Liniendiagramm erstellen, beispielsweise erstmal nur für den Stromverbrauch.
Hierfür habe ich einen zusätzlichen Button eingefügt, wenn er gedrückt wird, soll die Grafik erstellt werden.
Folgendes habe ich bislang:
Quellcode
- <?
- ...
- include ("src/jpgraph.php");
- include ("src/jpgraph_line.php");
- ...
- if($_POST["cmd_zeichnen"])
- {
- // Grafik generieren und Grafiktyp festlegen
- $graph = new Graph(600,400,"auto");
- $graph->SetScale("textlin");
- $auswahlsatz=$_POST["opt_haken"]; //Benutzerauswahl für Datensätze, die in Grafik dargestellt werden sollen
- foreach($auswahlsatz as $auswahl_id)
- {
- $abfrage = "SELECT verbrauchswert FROM tabelle WHERE id = $auswahl_id";
- $result = mysql_query($abfrage) OR die(mysql_error());
- $i=0;
- while ($array=mysql_fetch_array($result))
- {
- $wert[$i]=$array[0];
- $i++;
- };
- }
- // Linie generieren
- $lineplot = new LinePlot($wert);
- //Linie zu der Grafik hinzufügen
- $graph->Add($lineplot);
- // Grafik Formatieren
- $graph->img->SetMargin(50,20,20,40);
- $graph->title->Set("Gasverbrauch");
- $graph->xaxis->title->Set("Jahre");
- $graph->yaxis->title->Set("Verbrauch");
- $graph->title->SetFont(FF_FONT1,FS_BOLD);
- $graph->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
- $graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
- //Unterteilungslinien
- $graph -> SetGridDepth (DEPTH_FRONT);
- $graph -> xgrid -> Show(false, false);
- $graph -> ygrid -> Show(true, false);
- $graph->ygrid->SetColor('blue');
- $graph->ygrid->SetFill(true,'#EFEFEF@0.6','#BBCCFF@0.6');
- $graph->ygrid->SetLineStyle('dashed');
- $graph->ygrid->SetWeight(1);
- $lineplot->SetColor("blue");
- $lineplot->SetWeight(2);
- //Markierungspunkte
- $lineplot -> mark -> SetType (MARK_SQUARE);
- $lineplot -> mark -> SetFillColor("red");
- $lineplot -> mark -> SetWidth(3);
- $lineplot->value->Show();
- $graph->yaxis->SetColor("red");
- $graph->yaxis->SetWeight(2);
- $graph->SetShadow();
- // Grafik anzeigen
- $graph->Stroke();
- }
- ?>
Das Problem liegt wahrscheinlich irgendwo bei der Select-Abfrage. Die Darstellung vom Graphen sollte passen, die übergebenen Daten allerdings nicht, weil nämlich nichs passiert
Ich hoffe, ihr könnt mir helfen
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Billie ()