Wie man Werte für eine PHP Liniendiagramm berechnen . Die durch Grafiken dargestellt ist in der Regel statistische oder experimentelle Daten gegen die Zeit aufgetragen , um Koordinaten, die mathematische Funktionen entgegen. Aus diesem Grund sind die Berechnungen bei der Schaffung eines Liniendiagramm beteiligt erster Linie für die Lokalisierung der Datenpunkte innerhalb der vorgegebenen Grenzen des Graphen. PHP: Hypertext Preprocessor ist eine Programmiersprache, in der Regel für die Erstellung von dynamischen Web-Inhalten verwendet wird, und seine Grafik-Bibliothek macht das Erstellen Liniendiagramme ziemlich einfach. Anleitung
1
Öffnen Sie einen Text -Editor, der nicht formatieren hat den Text , und geben Sie die Öffnung PHP -Tag und die folgenden Parameter für die Linie Chart : die Leinwand Höhe und Breite , die Maximal-und Minimalwerte für die Daten , und eine Reihe von Daten . Alle Daten, die die angegebene Wertebereich überschreiten, werden nicht zu einem Fehler , aber es wird die Zeile führen zu gehen aus dem Diagramm . Geben Sie z. B. :
< php
$ canvas_height = 200;
$ canvas_width = 200;
$ min_value = 0;
$ max_value = 100;
$ data = array (32 , 25, 29 , 76, 35 , 20, 81 , 77, 64 , 76, 53);
2
berechnen der Anzahl von Datenpunkten , der horizontale Abstand zwischen den Punkten und dem Bereich der Werte angezeigt werden . Sie können die Anzahl der Datenpunkte mit PHP " sizeof "-Funktion , die die Anzahl der Elemente in einem Array zählt zu finden. Berechnen des Abstandes , indem die gesamte Breite durch die Anzahl der Bereiche , die eine weniger als die Datenpunkte . Verwenden Sie die "runde" -Funktion , um es abzurunden , um die nächste Ganzzahl. Sie können den Bereich , indem die Differenz zwischen den maximalen und minimalen Werte zu finden . Geben Sie z. B. :
$ data_points = sizeof ( $ data );
$ Abstand = round ( $ canvas_width /($ data_points - 1) );
$ Bereich = $ max_value - $ min_value ;
3
erstellen Sie ein Bild mit den angegebenen Abmessungen Leinwand , und initialisieren Sie die Farben , die Sie verwenden . Diese Funktionen verwenden PHP GD -Bibliothek, die für Graphics Draw steht . Die " imagecreate " Funktion erstellt das Bild und gibt ein Bild Kennung, die anderen GD -Funktionen , um das Bild Referenz verwenden. Die " ImageColorAllocate " Funktion definiert Farben durch Angabe Rot-Grün- Blau-Werte mit entweder dezimale oder hexadezimale Werte im Bereich von 0 bis 255 . Die Integer-Wert von der Funktion zurückgegeben wird, kann die Verwendung durch andere GD -Funktionen , um die Farben anzugeben. Die erste Farbe durch diese Funktion zugewiesen wird die Standard-Hintergrundfarbe . Geben Sie z. B. :
$ img = imagecreate ($ canvas_width , $ canvas_height );
$ weiß = ImageColorAllocate ($ img , 255, 255, 255 );
$ blue = ImageColorAllocate ($ img , 0, 0 , 153) ;
4
Schleife durch das Array zu Liniensegmente zwischen den Datenpunkten zu ziehen. Da jedes Segment erfordert zwei Endpunkte , starten Sie die Schleife mit dem zweiten Wert im Array und subtrahieren von seiner Array-Schlüssel , um die Array-Schlüssel , bevor es zu finden. Mit diesen Tasten können Sie die x -und y- Koordinaten für jeden der Endpunkte zu finden. Jeder x -Koordinate ist die Array-Schlüssel Zeiten der horizontale Abstand in Schritt 2 berechnet. Berechnen des y- Koordinaten , indem zuerst die Differenz zwischen jedem Array und dem minimalen Wert und Division durch den Bereich . Das gibt einen Teilwert zum Multiplizieren mal die Höhe der Leinwand. Runde, die aus mit dem runden Funktion . Da GD Bilder mit Null an der Spitze der Leinwand aufgetragen sind , müssen Sie sie durch Subtraktion der berechnete Wert von der Leinwand , um die endgültige Höhe y -Koordinate erhalten invertieren. Schließlich zeichnen die Linien-Segment mit GD " imageline "-Funktion , die Angabe , die Koordinaten und die Farbe. Geben Sie z. B. :
for ($ j = 1; $ j < $ data_points ; $ j + +) {
$ i = $ j - 1;
$ x1 = $ i * $ Abstand ;
$ x2 = $ j * $ Abstand ;
$ y1 = $ canvas_height - round ( $ canvas_height * ( $ data [$ i] - $ min_value ) /$ -Bereich) ;
$ y2 = $ canvas_height - round ( $ canvas_height * ( $ data [$ j ] - $ min_value ) /$ -Bereich) ;
imageline ($ img , $ x1, $ y1, $ x2, $ y2, $ blue ); }
5
Zeigen Sie das Bild und den freien Speicher verwendet werden, um es zu schaffen. Verwenden Sie die " Header "-Funktion , um den Browser zu sagen, dass der Ausgang ein Bild anstatt einer HTML-Datei sein . Die GD " imagepng "-Funktion zeigt das Bild , und die " imagedestroy " Funktion gibt den Speicher . Das Skript wird beendet mit der Schließung PHP -Tag. Geben Sie z. B. :
header (" Content-type : image /png ");
imagepng ($ img );
imagedestroy ($ img );
>
6
Speichern Sie die Datei mit der Dateiendung PHP , und laden Sie sie auf Ihren Server. Zeigen Sie das Bild , indem Sie die URL mit dem Dateinamen in Ihrem Browser . Geben Sie zum Beispiel etwas wie: " http://www.yourdomain.com/line_chart.php . "