Hvordan beregne verdier for en PHP Linjediagram

Hvordan beregne verdier for en PHP Linjediagram


Linjediagrammer er grafer som punkter er koblet sammen med linjesegmenter. Informasjonen som vises ved linjediagrammer er vanligvis statistiske eller eksperimentelle data plottet mot tiden i motsetning til koordinatene representerer matematiske funksjoner. På grunn av at de er involvert i å skape et linjediagram beregninger er i første rekke for å lokalisere datapunkter innenfor de spesifiserte grensene av grafen. PHP: Hypertext Preprocessor er et programmeringsspråk vanligvis brukes for å lage dynamiske web-innhold, og dens grafikk bibliotek gjør opprette linjediagrammer ganske grei.

Bruksanvisning

1 Åpne opp en tekst editor som ikke formatere teksten, og skriv åpningen PHP-koden og følgende parametere for linjediagram: lerretet høyde og bredde; maksimums- og minimumsverdier for data; og, en matrise med data. Eventuelle data som overstiger den angitte verdiområdet vil ikke føre til en feil, men det vil føre til at linjen for å gå av diagrammet. For eksempel inn:

<? 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 Beregne antall datapunkter, til den horisontale avstanden mellom punktene og verdiområdet vises. Du kan finne antall datapunkter med PHP "sizeof" -funksjonen, som teller antall elementer i en matrise. Beregn avstanden ved å dele den totale bredden av det antall plasser, som er en mindre enn datapunktene. Bruk "runde" -funksjonen for å runde det av til nærmeste heltall. Kan finne rekkevidden ved å ta differansen mellom den maksimale og minimale verdier. For eksempel inn:

$ data_points = sizeof ($ data);
$ Avstanden = round ($ canvas_width / ($ data_points - 1));
$ Område = $ MAX_VALUE - $ MIN_VALUE;

3 Lag et bilde med de angitte lerret dimensjoner, og initialisere farger som du vil bruke. Disse funksjonene bruker PHP GD biblioteket, som står for Graphics Draw. Den "imagecreate" -funksjonen skaper bildet og returnerer et bilde identifikator som andre GD funksjoner bruker å referere bildet. Den "imagecolorallocate" -funksjonen definerer farger ved å angi rød-grønn-blå verdier med enten heksadesimale eller desimal verdier fra 0 til 255. heltall returneres av funksjonen kan brukes av andre GD funksjoner for å angi farger. Den første fargen tildelt av denne funksjonen blir standard bakgrunnsfarge. For eksempel inn:

$ Img = imagecreate ($ canvas_width, $ canvas_height);
$ Hvit = imagecolorallocate ($ img, 255, 255, 255);
$ Blå = imagecolorallocate ($ img, 0, 0, 153);

4 Sløyfe gjennom matrisen til å trekke linjesegmenter mellom datapunktene. Siden hvert segment krever to endepunkter, starter løkken med den andre verdien i matrisen og trekke en fra sitt utvalg nøkkelen til å finne matrisen nøkkelen før det. Med disse tastene kan du finne x- og y-koordinatene for hvert av endepunktene. Hver x-koordinat er dens rekke viktige tidspunkt den horisontale avstanden beregnet i trinn 2. Beregn y-koordinatene ved først å finne forskjellen mellom hver matrise verdi og minimumsverdien, og dele på området. Det gir en brøk verdi for multiplisere ganger høyden av lerretet. Rund som av med runden funksjon. Siden GD bildene er tegnet inn med null på toppen av lerretet, må man for å invertere dem ved å trekke den beregnede verdi fra lerretet høyde for å få den endelige y-koordinat. Endelig plotte linjestykke med GD er "imageline" -funksjonen, som spesifiserer, koordinater og farge. For eksempel inn:

for ($ j = 1; $ j <$ data_points; $ j ++) {
$ I = $ j - 1;
$ x1 = $ i

$ mellomrom;
$ x2 = $ j $ mellomrom;
$ y1 = $ canvas_height - runde ($ canvas_height ($ data [$ i] - MIN_VALUE $) / $ range);
$ y2 = $ canvas_height - runde ($ canvas_height ($ data [$ j] - $ MIN_VALUE) / $ range);
imageline ($ img, $ x1, $ y1, $ x2, $ y2, $ blå);
}

5 Vis bildet og frigjøre minne som brukes til å lage den. Bruk "header" funksjon for å fortelle leseren at produksjonen vil være et bilde i stedet for en HTML-fil. GD "imagepng" -funksjonen viser bildet, og "imagedestroy" -funksjonen frigjør minnet. Avslutt skriptet med den avsluttende PHP-koden. For eksempel inn:

header ( "Content-type: image / png");
imagepng ($ img);
imagedestroy ($ img);
?>

6 Lagre filen med PHP filtypen, og laste den opp til serveren din. Vis bildet ved å skrive inn URL med filnavnet i nettleseren din. For eksempel inn noe sånt som "http://www.yourdomain.com/line_chart.php.&quot;