Hvordan lage et diagram ved hjelp av PHP

Hvordan lage et diagram ved hjelp av PHP

Et veldig vanlig krav til bedriftsnettstedet oppretter et diagram basert på de innsamlede dataene på nettstedet for å finne ut forskjellige typer statistisk informasjon fra målbrukerne og den nåværende fremdriften i virksomheten. Denne informasjonen hjelper til med å utvide virksomheten raskere. Så nettprogrammereren må få grunnleggende kunnskap om å lage diagrammet. Diagrammet kan genereres av skript på serversiden og klientsiden. Utvikleren kan velge alle typer skript basert på kravene til nettsteder. Det er noen fordeler og ulemper ved å bruke serversiden og klientsiden-diagrammer. Diagrammet generert av serversiden skript øker serveroverbelastningen som gjør nettstedet tregere. Sluttbrukerne kan miste tålmodigheten når kartbildene trenger mer tid til å laste ned. Dette problemet med å lage et diagram på nettstedet kan utelates ved å bruke klientsiden-diagrammet. Diagrammet genereres lokalt ved å hente XML- eller JSON-data fra serveren i et skript på klientsiden. Diagrammet som er opprettet av klientsiden-skript gjør nedlastingen raskere, og forskjellige tilpassede diagrammer kan opprettes, for eksempel å bruke animasjon i diagrammet og gjøre diagrammet attraktivt. I denne opplæringen lærer du å lage diagrammet ved hjelp av PHP-biblioteket på serversiden.

Serversiden-diagram:

Mange gratis og kommersielle PHP-kart for serverside er tilgjengelige nå. Pchart, phpchartjs, fusioncharts, jpgraph, etc. er PHP-biblioteker for å opprette et serversiden-diagram på websiden. Bruker JPgraph Bibliotek er blitt forklart i denne opplæringen ved å lage forskjellige typer diagrammer. Den gratis versjonen av JPgraph Bibliotek har blitt brukt i denne opplæringen.

JPGraph:

Det er et objektorientert-basert kartbibliotek som lager forskjellige typer diagrammer, for eksempel linjekart, stolpediagrammer og kakediagrammer. Det er tilgjengelig i gratis og betalte versjoner. Den betalte versjonen brukes til kommersielle formål og kan opprette en strekkode eller QR -kode. Du må laste ned JPGraph -biblioteket før du bruker det. Gå til følgende URL -adresse og last ned biblioteket:

https: // jpgraph.nett/nedlasting/

Etter å ha lastet ned biblioteket, pakk ut filen og lagre den i mappen der PHP -skriptet blir utført. Jeg har lagret mappe inne /var/www/html/phpcode mappe. Opprette forskjellige typer diagrammer ved hjelp av dette biblioteket vil bli vist i følgende del av denne opplæringen.

Eksempel 1: Opprette linjekart

Lag en PHP -fil med følgende skript for å tegne et linjekart med grønn farge. En matrise har blitt brukt til å angi dataene for å tegne diagrammet. De Kurve objektet har blitt brukt til å vise diagrammet, og Lineplot objektet har blitt brukt til å lage linjekartet ved å bruke Kurve gjenstand.

// inkludere nødvendige filer for å tegne linjekart
krever_once ('jpgraph-4.3.5/SRC/JPGraph.php ');
krever_once ('jpgraph-4.3.5/src/jpgraph_line.php ');
// angi dataene
$ data = Array (10,6,16,23,11,9,5);
// erklære grafobjektet
$ graf = ny graf (400.250);
//Rydd alt
$ graf-> clearTheMe ();
// angi skalaen
$ graf-> setScale ('textLin');
// angi den lineære plottet
$ linept = ny linjeplot ($ data);
// Angi linjefargen
$ linept-> setColor ('grønn');
// Legg til plottet for å lage diagrammet
$ graf-> Legg til ($ linept);
// Vis diagrammet
$ graf-> stroke ();
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet fra serveren:

Eksempel 2: Opprette et akkumulert søylediagram

Lag en PHP -fil med følgende skript for å tegne et akkumulert søylediagram. To matriser har blitt brukt til å angi dataene for å tegne diagrammet. De Kurve Objekt har blitt brukt til å vise diagrammet. De Barplot og Accbarplot objekter har blitt brukt til å lage det akkumulerte søylediagrammet ved hjelp av Kurve gjenstand.

// inkludere nødvendige filer for å tegne søylediagram
krever_once ('jpgraph-4.3.5/SRC/JPGraph.php ');
krever_once ('jpgraph-4.3.5/src/jpgraph_bar.php ');
// angi dataene
$ Series1 = Array (10,60,30,70,25,67,10);
$ Series2 = Array (34,89,56,12,59,70,23);
// erklære objektet for å tegne diagrammet
$ graf = ny graf (500.300);
//Rydd alt
$ graf-> clearTheMe ();
// angi noen innstilling for diagrammet
$ graf-> setScale ("textLin");
$ graf-> setShadow ();
$ graf-> img-> setMargin (80,30,20,50);
// Lag objekt og farger for stangens tomter
$ b1plot = new Barplot ($ serie1);
$ b1plot-> setfillColor ("blå");
$ b2plot = new Barplot ($ serie2);
$ b2plot-> setfillColor ("rød");
// Lag objekt for den grupperte barplottet
$ gbplot = new AccBarplot (Array ($ B1plot, $ B2plot));
// Legg til plottet for diagrammet
$ graf-> Legg til ($ gbplot);
// Angi tittelen på diagrammet, x-aksen og y-aksen
$ graph-> title-> set ("Akkumulert stolpediagram");
$ graf-> xaxis-> title-> set ("serie-1");
$ graf-> yaxis-> title-> set ("serie-2");
// Vis grafen
$ graf-> stroke ();
?>
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet fra serveren:

Eksempel 3: Opprette akkumulert søylediagram med gradient

Opprett en PHP -fil med følgende skript for å tegne et akkumulert søylediagram med en gradient. To matriser har blitt brukt til å angi dataene for å tegne diagrammet. De Kurve Objekt har blitt brukt til å vise diagrammet. De Barplot og Accbarplot objekter har blitt brukt til å lage det akkumulerte søylediagrammet ved hjelp av Kurve gjenstand. De SetfillGradient () funksjon av Barplot Objekt har blitt brukt i skriptet for å angi gradientfargen på diagrammet.

// inkludere nødvendige filer for å tegne linjekart
krever_once ('jpgraph-4.3.5/SRC/JPGraph.php ');
krever_once ('jpgraph-4.3.5/src/jpgraph_bar.php ');
// angi dataene
$ Series1 = Array (10,60,30,70,25,67,10);
$ Series2 = Array (34,89,56,12,59,70,23);
// erklære objektet for å tegne diagrammet
$ graf = ny graf (500.300);
//Rydd alt
$ graf-> clearTheMe ();
// angi noen innstilling for diagrammet
$ graf-> setScale ('textLin');
$ graf-> setMargincolor ('hvit');
$ graf-> title-> sett ('Akkumulert søylediagram med gradient');
// Lag den første linjen
$ plot1 = ny Barplot ($ serie1);
$ plot1-> setfillgradient ('oransje', 'cyan', grad_vert);
$ plot1-> setColor ('Darkred');
// Lag den andre linjen
$ plot2 = ny Barplot ($ serie2);
$ plot2-> setfillgradient ('blå', 'grønn', grad_vert);
$ plot2-> setColor ('darkgreen');
// og bli med dem i en akkumulert stolpe
$ gaccplot = new AccBarplot ([$ plot1, $ plot2]);
$ graf-> Legg til ($ gaccplot);
// Vis grafen
$ graf-> stroke ();
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet fra serveren:

Eksempel 4: Opprette et gruppert søylediagram

Lag en PHP -fil med følgende skript for å tegne et gruppert søylediagram. Tre matriser har blitt brukt til å angi dataene for å tegne diagrammet. De Kurve Objekt har blitt brukt til å vise diagrammet. De Barplot og GroupBarplot Objekter har blitt brukt til å lage det grupperte søylediagrammet ved å bruke Kurve gjenstand.

// inkludere nødvendige filer for å tegne linjekart
krever_once ('jpgraph-4.3.5/SRC/JPGraph.php ');
krever_once ('jpgraph-4.3.5/src/jpgraph_bar.php ');
// Angi dataserien
$ Series1 = Array (10,60,30,70,25,67,10);
$ Series2 = Array (34,89,56,12,59,70,23);
$ Series3 = Array (20,70,70,14,23,26);
// erklære objektet for å tegne diagrammet
$ graf = ny graf (500, 300);
//Rydd alt
$ graf-> clearTheMe ();
// angi noen innstilling for diagrammet
$ graf-> setScale ("textLin");
$ graf-> setShadow ();
$ graf-> img-> setMargin (40,30,40,40);
$ Graph-> xaxis-> Setticklabels ($ gDatelocale-> getMonth ());
$ graf-> xaxis-> title-> setfont (ff_font1, fs_bold);
$ graf-> title-> set ('gruppert bardiagram');
$ graf-> title-> setfont (ff_font1, fs_bold);
// Lag plottobjekter
$ plot1 = ny Barplot ($ serie1);
$ plot2 = ny Barplot ($ serie2);
$ plot3 = new Barplot ($ Series3);
// angi noen innstilling for plottet
$ plot1-> setfillColor ("cyan");
$ plot1-> setShadow ();
$ plot2-> setfillColor ("blå");
$ plot2-> setShadow ();
$ plot3-> setfillColor ("darkorange");
$ plot3-> setShadow ();
// erklære objekt for den grupperte plottet
$ plot = new GroupBarplot (Array ($ plot1, $ plot2, $ plot3));
// Angi tomtbredde
$ plot-> setwidth (0.6);
// Legg til tomt
$ graf-> Legg til ($ plot);
// tegne diagrammet
$ graf-> stroke ();
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet fra serveren:

Eksempel 5: Opprette et enkelt kakediagram

Lag en PHP -fil med følgende skript for å tegne et kakediagram. En matrise har blitt brukt til å angi dataene for å tegne diagrammet. De Kurve objektet har blitt brukt til å vise diagrammet, og Pieplot objektet har blitt brukt til å lage det enkle kakediagrammet ved å bruke Kurve gjenstand.

// inkludere nødvendige filer for å tegne linjekart
krever_once ('jpgraph-4.3.5/SRC/JPGraph.php ');
krever_once ('jpgraph-4.3.5/src/jpgraph_pie.php ');
// angi dataene
$ data = Array (10,15,16,23);
// erklære grafobjektet
$ graf = ny Piegraph (400, 250);
//Rydd alt
$ graf-> clearTheMe ();
// angi tittelen for diagrammet
$ graf-> title-> set ("Simple Pie Chart");
// Lag plottobjekter
$ plot = ny Pieplot ($ data);
// Legg til tomt
$ graf-> Legg til ($ plot);
// tegne diagrammet
$ graf-> stroke ();
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet fra serveren:

Eksempel 6: Opprette et 3D -kakediagram

Lag en PHP -fil med følgende skript for å tegne et 3D -kakediagram. To matriser har blitt brukt til å angi dataene for å tegne diagrammet. De Piegraph objektet har blitt brukt til å vise diagrammet og Pieplo3d objektet har blitt brukt til å lage det enkle kakediagrammet ved hjelp av Piegraph gjenstand.

// inkludere nødvendige filer for å tegne linjekart
krever_once ('jpgraph-4.3.5/SRC/JPGraph.php ');
krever_once ('jpgraph-4.3.5/src/jpgraph_pie.php ');
krever_once ('jpgraph-4.3.5/src/jpgraph_pie3d.php ');
// angi dataene
$ data = Array (15, 13, 29, 45, 68, 31);
$ Area = Array ('Dhaka', 'Barisal', 'Sylhet', 'Comilla', 'Chandpur', 'Bogra');
// erklære grafobjektet
$ graf = ny piegrafer (550, 300);
//Rydd alt
$ graf-> clearTheMe ();
// angi noen innstilling for diagrammet
$ Graph-> Title-> Set ("Area-Wise Sales");
$ graf-> legend-> setpos (0.01,0.2, 'rett', 'rett');
$ Graph-> Legend-> SetColumns (1);
$ graf-> legend-> setLineSpacing (15);
// Lag plottobjekter
$ plot = new PiePlot3d ($ data);
$ plot-> setcenter (0.4);
$ plot-> setLegends ($ areal);
// Legg til tomt
$ graf-> Legg til ($ plot);
// tegne diagrammet
$ graf-> stroke ();
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet fra serveren:

Konklusjon:

I denne artikkelen er alle data som ble brukt i de foregående eksemplene statiske. Du kan enkelt hente data fra databaseserveren ved hjelp av PHP og bruke dem til å lage et diagram basert på dynamiske data. Hvis du vil lage et mer attraktivt diagram og raskere nedlasting, kan du bruke et hvilket som helst populært bibliotek på klientsiden. Vi håper du fant denne artikkelen nyttig. Sjekk de andre Linux -hint -artiklene for flere tips og informasjon.