28
2013
PHPlot – Zmiana grubości słupków horyzontalnych (Bar Chart)
PHPlot nie udostępnia opcji zmiany grubości słupków przy wykresach typu Bar Chart. Przestawię poniżej modyfikację, która pozwoli ręcznie ustawiać szerokość/grubość linii wykresu słupkowego.
Przykład

Rozwiązanie
1) Na początku ciała klasy phplot, deklarujemy zmienną $SetBarWidth
odpowiedzialną za zmianę wyliczeń szerokości słupka.
1 2 3 4 5 6 7 |
class PHPlot { const version = '6.1.0'; const version_id = 60100; protected $SetBarWidth = 0; // ustawiamy wartość początkową, w przypadku, gdy nie ustawimy nowej wartości [...] |
2) Dodajemy funkcję, dzięki której będziemy ustawiać wartość zmiennej $SetBarWidth
.
1 2 3 4 5 6 |
/* * Ustawia szerokość horyzontalnych słupków typu Bar Chart. */ function SetBarWidth($value) { return $this->SetBarWidth = $value; } |
3) Modyfikujemy jedną linię funkcji CalcBarWidths
.
1 2 3 4 5 6 7 8 9 10 11 |
protected function CalcBarWidths($stacked, $verticals) { [...] // Number of bar spaces in the group, including actual bars and bar_extra_space extra: if ($stacked) { $num_spots = 1 + $this->bar_extra_space; } else { // zmiana grubości słupka $num_spots = $this->data_columns + $this->bar_extra_space - $this->SetBarWidth; } |
4) Poniżej ustawianie szerokości w skrypcie generującym wykres.
Wartość może przyjmować ujemne i dodatnie wartości. Im mniejsza wartość tym cieńszy słupek.
1 2 3 4 5 6 |
$plot = new PHPlot_truecolor(350,500); [...] $plot->SetBarWidth(0.5); [...] $plot->SetPlotType('bars'); $plot->DrawGraph(); |
Na początku artykułu jest widoczny przykład zmodyfikowanego wykresu po wprowadzeniu zmian.
Podobne tematy
Dodaj komentarz
O mnie
Najnowsze wpisy
- Drzewo kategorii – budowa struktury od dołu do góry
- PHPExcel – export + import pliku XLS
- WordPress + Polylang – Tworzenie klasy CSS z ID strony/wpisu w wybranym języku
- Mailing – Poprawna konstrukcja szablonu maila HTML/CSS i prawidłowy wygląd w programie pocztowym
- Szukasz programisty PHP dla e-commerce?