Linjediagram är grafer vars punkter är förbundna med linjesegment . Den information som visas linjediagram är vanligen statistiska eller experimentella data som plottats mot tiden i motsats till koordinater som representerar matematiska funktioner . På grund av detta , de beräkningar som krävs för att skapa ett linjediagram är primärt för att lokalisera datapunkterna inom de angivna gränserna för grafen. PHP : Hypertext Preprocessor är ett programmeringsspråk som vanligtvis används för att skapa dynamiskt webbinnehåll , och dess grafik bibliotek gör att skapa linjediagram ganska enkelt . Instruktioner
1
Öppna upp en text editor som inte formatera text , och skriver öppningen PHP -taggen och följande parametrar för linjediagram : duken höjd och bredd , de högsta och lägsta värdena för data , och , en uppsättning av data. All data som överstiger det angivna intervallet av värden kommer inte att orsaka ett fel , men det kommer att orsaka linjen att gå utanför diagrammet . Skriv till exempel : ?
< Php
$ canvas_height = 200 ;
$ canvas_width = 200 ;
$ MIN_VALUE = 0 ;
$ max_value = 100 ;
$ uppgifter = array ( 32 , 25 , 29 , 76 , 35 , 20 , 81 , 77 , 64 , 76 , 53 ) ;
2
Beräkna antalet datapunkter , det horisontella avståndet mellan punkter och de värden som visas . Du kan hitta antalet datapunkter med PHP : s " sizeof " -funktion , som räknar antalet poster i en array . Beräkna avståndet genom att dividera den totala bredden av antalet platser , vilket är en färre än datapunkterna . Använd " rundan " -funktionen för att avrunda till närmaste heltal . Du kan hitta utbudet genom att ta skillnaden mellan de högsta och lägsta värdena . Till exempel , typ :
$ data_points = sizeof ( $ data) ;
$ mellanrum = round ( $ canvas_width /( $ data_points - 1 ) ) ;
$ intervall = $ max_value - $ MIN_VALUE ,
3
Skapa en bild med de angivna duk mått , och initiera de färger som du använder . Dessa funktioner använder PHP GD library , som står för Graphics Draw . Den " imagecreate " funktion skapar bilden och returnerar en bild identifierare som andra GD -funktioner använder som referens till bilden . Den " imagecolorallocate " Funktionen definierar färgerna genom att ange röd - grön - blå värden med antingen hexadecimala eller decimala värden från 0 till 255. Det heltal som returneras av funktionen kan användas av andra GD -funktioner för att ange färger . Den första färgen fördelas av denna funktion blir standard bakgrundsfärg . Till exempel , typ :
$ img = imagecreate ( $ canvas_width , $ canvas_height ) ,
$ vit = imagecolorallocate ( $ IMG , 255 , 255 , 255 ) ;
$ blått = imagecolorallocate ( $ IMG , 0 , 0 , 153 ) ;
4
Loop igenom arrayen att rita linjesegment mellan datapunkterna . Eftersom varje segment kräver två ändpunkter , startar slingan med det andra värdet i arrayen och subtrahera en från sitt utbud för att hitta arrayen nyckeln innan det . Med dessa knappar kan du hitta de x - och y - koordinaterna för varje endpoints . Varje x - koordinat är dess utbud nyckel gånger det horisontella avståndet beräknas i steg 2 . Beräkna y-koordinaterna genom att först hitta skillnaden mellan varje gruppvärde och minimivärdet , och dividera med intervallet . Det ger en fraktionerad värde för multiplicering gånger höjden av duken . Runda som av med rund funktionen . Eftersom GD bilder ritas med noll i topp på arbetsytan , måste du invertera dem genom att subtrahera det beräknade värdet från duken höjd för att få det slutliga y - koordinat . Slutligen , rita linjesegment med GD : s " imageline " -funktion , som anger , koordinater och färg . Till exempel , typ :
för ( $ j = 1 , $ j < $ data_points , $ j + + ) {
$ i = $ j - 1 ,
$ x1 = $ i * $ avstånd ,
$ x2 = $ j * $ avstånd ,
$ y1 = $ canvas_height - runda ( $ canvas_height * ( $ uppgifter [ $ i] - $ MIN_VALUE ) /$ rad ) ;
$ y2 = $ canvas_height - runda ( $ canvas_height * ( $ uppgifter [ $ j ] - $ MIN_VALUE ) /$ rad ) ;
imageline ( $ IMG , $ x1 , y1 $ , $ x2 , $ y2 , $ blått ) ,
}
5
Visa bilden och frigöra det minne som används för att skapa den . Använd " header " -funktion för att tala om för webbläsaren att utgången blir en bild i stället för en HTML-fil . GD " imagepng " funktionen visar bilden , och " imagedestroy " funktionen frigör minnet . Avsluta manus med avslutande PHP -taggen . Till exempel , typ :
header ( " Content -type : image /png " ) ,
imagepng ( $ img ) ,
imagedestroy ( $ img ) ;
? >
6
Spara filen med PHP filändelse , och ladda upp den till din server . Visa bilden genom att skriva in webbadressen med filnamnet i din webbläsare . Skriv till exempel något i stil med , " http://www.yourdomain.com/line_chart.php . " Addera