Lägg till grafer till din PHP webbapp med pChart
pChart är ett anmärkningsvärt avancerat grafikkverktyg för PHP. Det är gratis under GPL-licens, mycket anpassningsbar, fullständigt objektorienterad och mer än kapabel att hantera data du kastar på den. Låt mig visa dig hur du kommer igång med att använda den för din webbapp.
Denna handledning förutsätter en grundläggande kunskap om PHP.
Funktioner - Kortfattat
- Lätt att komma igång med massor av exempelkod.
- Anti-Aliasing för vackra grafer.
- Varje typ av graf du kan tänka dig, liksom inbyggda ritningsrutiner för att anpassa skärmen ännu längre. (3D-grafer är dock begränsade till cirkeldiagram)
- Best-fit linje beräkning - bara ge det datapunkter och låt det göra jobbet.
- Kan också skapa streckkoder, som om grafiken inte räckte till. (Inte QR-koder men bara standard 1-dimensionella)
- Villkorlig formatering, för att skapa riktigt visuellt tilltalande grafer.
- Omfattande caching-klass för att påskynda din grafik i en produktionsmiljö.
Komma igång
Ladda ner det senaste pChart-paketet och ladda upp det till roten till din webbserver. Byt namn på direkt till pChart. Du kan testa det direkt genom att navigera till den här katalogen som laddar exemplet graferna.
Prova själv
För att lära dig den grundläggande metoden för att rita ett diagram, skapa en ny PHP-fil i roten till din server som heter test.php. Lägg till dessa rader till toppen (förutsatt att katalogen du laddar upp pChart till namnet bara pChart):
/ * Inkludera alla klasser * / include ("pChart / class / pDraw.class.php"); inkluderar ( "PChart / klass / pImage.class.php"); inkluderar ( "PChart / klass / pData.class.php");
Nästa steg är att skapa en dataset och använda addPoints-metoden.
/ * Skapa ditt datasetobjekt * / $ myData = ny pData (); / * Lägg till data i ditt dataset * / $ myData-> addPoints (array (VOID, 3,4,3,5));
Observera att du kan använda en OGILTIG sökord om data saknas. Du kan också ansluta till en MySQL datakälla och dra en mängd data därifrån, eller ladda en CSV-fil från någonstans. Vi kommer att skriva en mycket enkel grafik av kursen, men du kan också lägga till flera dataset, justera ticks etc vid denna tidpunkt.
Därefter måste du skapa bildobjektet, ställa in grafområdet och välj ett teckensnitt.
$ myPicture = ny pImage (700,230, $ myData); // bredd, höjd, dataset $ myPicture-> setGraphArea (60,40,670,190); // x, y, bredd, höjd $ myPicture-> setFontProperties (array ("FontName" => "pChart / fonts / verdana.ttf", "FontSize" => 11));
Skalan måste sedan beräknas före utmatningen - men detta kan göras automatiskt - dra sedan grafen så här:
$ MyPicture-> drawScale (); $ MyPicture-> drawSplineChart ();
I det här fallet ritar vi ett spline-diagram - i princip ett krökt linjekarta - men det finns en stor lista över andra diagram som du kan rita bara genom att ändra den här funktionen. Det sista steget är att utmata den resulterande PNG-filen till webbläsaren. Använd Stroke() funktion för att göra detta:
$ MyPicture-> Stroke ();
Du skulle använda det här i de fall där du antingen visar direkt till användaren eller bäddar in PHP-filen som en bild, som:
Om du laddar in test.php i din webbläsare nu borde du se något liknande det här:
Ett annat alternativ är att göra grafen till en fil om du genererar dem genom ett slags automatiserat CRON-jobb, till exempel. I så fall använder du (där sökvägen för bilden är relativt test.php och i en skrivbar mapp):
$ MyPicture-> render ( "mypic.png");
alternativ
Även om pChart är den mest omfattande kartläggningsverktygslådan för PHP, finns det några alternativ:
- SparkLine PHP är ett genomförande av de utmärkande små graferna som heter Edward Tuffte.
- JqPlot är en jQuery-baserad grafiseringslösning som skulle flytta grafikberäkningen till användarens webbläsare istället för din server, idealisk om du försöker plotta matematiska funktioner.
- PHPMyGraph är inte lika omfattande, anpassningsbar eller attraktiv som pChart, men det är också mycket enklare.
- EasyChart Builder är ett enkelt WordPress-plugin, men det kräver att datasetet läggs till manuellt.
- Google Image Chart Creator har ett brett urval av diagram och kan enkelt inbäddas men kräver också att man manuellt anger datasetet.