Skrypt PHP generujący kołowy wykres SVG

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 3757 razy

Nadeszla wiekopomna chwila (jak mówił Pawlak na pogrzebie swego brata), a więc nadeszla wiekopomna chwila, coby zaprezentować wykres kołowy generowany za pomocą mojego własnego skryptu PHP. Na razie wykres ma postać okrojoną i wymaga dopracowania paru elementów, jednakże taką oto okrojoną postać postanowiłem tymczasowo zamieścić na mej stronie.

styczeń 327luty 47marzec 40kwiecień 270maj 378lipiec 13sierpień 224wrzesień 219październik 91listopad 75grudzień 6518%2%2%15%21%0%12%12%5%4%3%Przykład wykresu kołowego

Kod, umożliwiający utworzenie wykresu ma następującą postać:

use diagrams as dg; $Diag = new dg\SvgDiagramCircle( 600, 300, 40, "Przykład wykresu kołowego", Array("styczeń"=>rand(10, 400), "luty"=>rand(10, 400), "marzec"=>rand(10, 400), "kwiecień"=>rand(10, 400), "maj"=>rand(10, 400),"lipiec"=>rand(10, 400),"sierpień"=>rand(10, 400), "wrzesień"=>rand(10, 400), "październik"=>rand(10, 400), "listopad"=>rand(10, 400), "grudzień"=>rand(10, 400))); $Diag->getSvg();

Jak widać w konstruktorze podać należy następujące parametry:

Metoda GetSvg() tworzy i "wyświetla" wykres svg.

Jak widać klucze są wypisane w legendzie wraz z stojącymi za nimi wartościami liczbowymi, natomiast na wykresie umieściłem zaokrąglone wartości procentowe. Istnieje możliwość zmiany systemu kolorów poprzez podanie koloru początkowego i końcowego w sposób następujący:

$Diag->setColorSys(new dg\colorRGB(255, 205, 50), new dg\colorRGB(100, 150, 255));

W powyższym kodzie wywołana została metoda SetColorSystem obiektu $diag klasy svgCircleDiagram, która jako argumenty przyjmuje obiekty klasy colorRGB opisującej kolor w systemie RGB. Efekt działania można (a nawet trzeba) zobaczyć na poniższym wykresie.

styczeń 327luty 47marzec 40kwiecień 270maj 378lipiec 13sierpień 224wrzesień 219październik 91listopad 75grudzień 6518%2%2%15%21%0%12%12%5%4%3%Przykład wykresu kołowego

W wykresie można włączyć odsunięcie elementów okręgu, tak żeby było widać płaszczyzny boczne jego wycinków. W celu włączenia tego efektu konieczne jest użycie następującego kodu:

$Diag->setMove(true);

Wynik ustawienia w powyższej metodzie przesunięcia na true można zobaczyć poniżej.

styczeń 327luty 47marzec 40kwiecień 270maj 378lipiec 13sierpień 224wrzesień 219październik 91listopad 75grudzień 6518%2%2%15%21%0%12%12%5%4%3%Przykład wykresu kołowego

Można zmienić dane i podać je w postaci tekstowej w następujący sposób:

$Diag->setDataByString("Styczeń=35;Luty=52;Kwiecień=64");

lub:

$Diag->setDataByArray(Array("Styczeń"=>35, "Luty"=>52, "Kwiecień"=>64));

Styczeń 35Luty 52Kwiecień 6423%34%42%Przykład wykresu kołowego

Propozycje książek
tytuł: PHP i MySQL. Aplikacje internetowe po stronie serwera autor: Jon Duckett

Tytuł:

PHP i MySQL. Aplikacje internetowe po stronie serwera

Autor:

Jon Duckett

tytuł: PHP 8 i SQL. Programowanie dla początkujących w 43 lekcjach autor: Mariusz Duka

Tytuł:

PHP 8 i SQL. Programowanie dla początkujących w 43 lekcjach

Autor:

Mariusz Duka

tytuł: CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP autor: Łukasz Sosna

Tytuł:

CodeIgniter 4. Zaawansowane tworzenie stron WWW w PHP

Autor:

Łukasz Sosna

tytuł: PHP 7 MySQL 8 i Maria DB Praktyczny podręcznik autor: Steve Prettyman, Adrian W. West

Tytuł:

PHP 7 MySQL 8 i Maria DB Praktyczny podręcznik

Autor:

Steve Prettyman, Adrian W. West

tytuł: PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie V autor: Larry Ullman

Tytuł:

PHP i MySQL. Dynamiczne strony WWW. Szybki start. Wydanie V

Autor:

Larry Ullman

tytuł: PHP 7. Algorytmy i struktury danych autor: Mizanur Rahman

Tytuł:

PHP 7. Algorytmy i struktury danych

Autor:

Mizanur Rahman

tytuł: PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V autor: Luke Welling, Laura Thomson

Tytuł:

PHP i MySQL. Tworzenie stron WWW. Vademecum profesjonalisty. Wydanie V

Autor:

Luke Welling, Laura Thomson

tytuł: PHP i jQuery. Techniki zaawansowane. Wydanie II autor: Keith Wald, Jason Lengstorf

Tytuł:

PHP i jQuery. Techniki zaawansowane. Wydanie II

Autor:

Keith Wald, Jason Lengstorf

tytuł: Laravel 4. Podstawy tworzenia aplikacji w PHP autor: Raphaël Saunier

Tytuł:

Laravel 4. Podstawy tworzenia aplikacji w PHP

Autor:

Raphaël Saunier

tytuł: Magento. Przewodnik dla programistów PHP autor: Allan MacGregor

Tytuł:

Magento. Przewodnik dla programistów PHP

Autor:

Allan MacGregor

W związku z tym, że firma Helion nie wywiązuje się z swoich zobowiązań naliczania prowizji za każdą zakupioną książkę a kontakt z ową frmą jest nie możliwy autor strony zmuszony został do zablokowania linkowania książek. Za wszelkie niedogodności z tym związane z góry przepraszam i obiecuję włączenie linkowania gdy tylko sprawa zostanie wyjaśniona