[PHP] Chart class

Gestart doorRobbeing17 reacties71 weergaven

18 berichten · pagina 1 van 2

Robbeing

Lid · Topicstarter

Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Update 24-09-2013:
Door redenen heb ik dit "project" redelijk lang laten liggen.. Heb er zelfs nooit meer aan verder gewerkt. Ik heb de class in de spoiler onder deze tekst geplaatst indien er nog iemand geïnteresseerd is om hem verder uit te breiden. De class zelf is goed gevuld met commentaar.. en de uitlijning is zeker niet slecht..

Deze class werkt met child classes en interfaces om charts te doen. Reden? Niet elke grafiek wordt gelijk behandeld. Daarvoor moet er voor iedere grafiek een child-class worden aangemaakt van de Chart-class.

Success ermee wink
Einde update;
Spoiler tonen
[COLOR= #0000BB]<?php[/COLOR]
interface iChart [COLOR= #007700]{[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setData[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]);
}[/COLOR]

abstract [URL="http://www.php.net/class"]class[/URL] Chart [COLOR= #007700]{[/COLOR]
    [COLOR= #FF8000]/**
     * Chart Types
     **/[/COLOR]
    const LINE_CHART [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]lc[/COLOR][COLOR= #007700];[/COLOR]
    const BAR_CHART [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]bhs[/COLOR][COLOR= #007700];[/COLOR]
    const PIE_CHART [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]p[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Background Types
     **/[/COLOR]
    const BG_SOLID [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]s[/COLOR][COLOR= #007700];[/COLOR]
    const BG_LINEAR_GRADIENT [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]lg[/COLOR][COLOR= #007700];[/COLOR]
    const BG_LINEAR_STRIPES [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]ls[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Angles
     **/[/COLOR]
    const COURSE_HORIZONTAL [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
    const COURSE_SKEW_FROMTOP_RIGHTTOLEFT [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]45[/COLOR][COLOR= #007700];[/COLOR]
    const COURSE_SKEW_FROMTOP_LEFTTORIGHT [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]225[/COLOR][COLOR= #007700];[/COLOR]
    const COURSE_SKEW_FROMBOTTOM_RIGHTTOLEFT [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]315[/COLOR][COLOR= #007700];[/COLOR]
    const COURSE_SKEW_FROMBOTTOM_LEFTTORIGHT [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]135[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]// 0, 45, 90, 115
    /**
     * Colors
     */[/COLOR]
    const BLACK [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]000000[/COLOR][COLOR= #007700];[/COLOR]
    const SILVER [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]C0C0C0[/COLOR][COLOR= #007700];[/COLOR]
    const GRAY [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]808080[/COLOR][COLOR= #007700];[/COLOR]
    const WHITE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]FFFFFF[/COLOR][COLOR= #007700];[/COLOR]
    const MAROON [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]800000[/COLOR][COLOR= #007700];[/COLOR]
    const RED [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]FF0000[/COLOR][COLOR= #007700];[/COLOR]
    const PURPLE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]800080[/COLOR][COLOR= #007700];[/COLOR]
    const GREEN [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]008000[/COLOR][COLOR= #007700];[/COLOR]
    const YELLOW [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]FFFF00[/COLOR][COLOR= #007700];[/COLOR]
    const BLUE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]005BB7[/COLOR][COLOR= #007700];[/COLOR]
    
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$errors[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$chart_type[/COLOR] [COLOR= #007700]=[/COLOR] null[COLOR= #007700];[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __construct[COLOR= #007700]([/COLOR][COLOR= #0000BB]$type[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]chart_type [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$type[/COLOR][COLOR= #007700];
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setData[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]) {[/COLOR]    
        [COLOR= #FF8000]// Check if $data is an array[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/is_array"]is_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700])) {[/COLOR]
            [COLOR= #FF8000]// If the data index is missing, show an error[/COLOR]
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700](![/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]data[/COLOR][COLOR= #007700]])) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_addError[COLOR= #007700]([/COLOR][COLOR= #DD0000]Data-array is missing, you need to pass a multi-dimensional associative array with "data" as index.[/COLOR][COLOR= #007700]);[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]stop[COLOR= #007700]();
            }[/COLOR]
            [COLOR= #FF8000]// If the data index isnt an array, show an error[/COLOR]
            [URL="http://www.php.net/else"]else[/URL] [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700](![/COLOR][URL="http://www.php.net/is_array"]is_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]data[/COLOR][COLOR= #007700]])) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_addError[COLOR= #007700]();[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]stop[COLOR= #007700]();
            }[/COLOR]
            [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
                [COLOR= #FF8000]// Add values and legend[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_setLegend[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]data[/COLOR][COLOR= #007700]]);[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_setValues[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]data[/COLOR][COLOR= #007700]]);[/COLOR]
                
                [COLOR= #FF8000]// If colors are given aswell, set them also[/COLOR]
                [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]]) &&[/COLOR] [URL="http://www.php.net/is_array"]is_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]])) {[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]setColors[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]]);
                }[/COLOR]
                
                [COLOR= #FF8000]// If the size is given, also add it[/COLOR]
                [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]size[/COLOR][COLOR= #007700]])) {[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]setSize[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]size[/COLOR][COLOR= #007700]]);
                }[/COLOR]
                
                [COLOR= #FF8000]// If a title is given, also add it[/COLOR]
                [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]title[/COLOR][COLOR= #007700]])) {[/COLOR]
                    [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]setTitle[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]title[/COLOR][COLOR= #007700]]);
                }
            }
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_addError[COLOR= #007700]([/COLOR][COLOR= #DD0000]First argument passed to setData should be an array.[/COLOR][COLOR= #007700]);
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the legend for the chart.
     * If an array with index legend is used to set the legend, it uses that.
     * Otherwise just loop trough the array and use its indexes as legends
     *
     * @param Array $data
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #007700]function[/COLOR] _setLegend[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]legend[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]
        
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]legend[/COLOR][COLOR= #007700]])) {[/COLOR]
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]legend[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$legend[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]legend[/COLOR][COLOR= #007700]][] =[/COLOR] [COLOR= #0000BB]$legend[/COLOR][COLOR= #007700];
            }
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$legend[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$val[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]legend[/COLOR][COLOR= #007700]][] =[/COLOR] [COLOR= #0000BB]$legend[/COLOR][COLOR= #007700];
            }
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the values for the chart.
     * If an array with index values is used to set the values, it uses that.
     * Otherwise just loop trough the array and use its indexes as values
     *
     * @param Array $data
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #007700]function[/COLOR] _setValues[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]values[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]
        
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]values[/COLOR][COLOR= #007700]])) {[/COLOR]
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]values[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$val[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]values[/COLOR][COLOR= #007700]][] =[/COLOR] [COLOR= #0000BB]$val[/COLOR][COLOR= #007700];
            }
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$legend[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$val[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]values[/COLOR][COLOR= #007700]][] =[/COLOR] [COLOR= #0000BB]$val[/COLOR][COLOR= #007700];
            }
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the colors for the chart
     *
     * @param Array $colors
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setColors[COLOR= #007700]([/COLOR][COLOR= #0000BB]$colors[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]
        
        [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$colors[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700]) {[/COLOR]
            [COLOR= #FF8000]// Remove hashtags for google API to recognize the colors[/COLOR]
            [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]#[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700]);[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]][] =[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700];
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the size of the chart
     *
     * @param String $size
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setSize[COLOR= #007700]([/COLOR][COLOR= #0000BB]$size[/COLOR][COLOR= #007700]) {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/strpos"]strpos[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$size[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]x[/COLOR][COLOR= #007700]) ==[/COLOR] false[COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$size[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/strtolower"]strtolower[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$size[/COLOR][COLOR= #007700]);[/COLOR]
            [COLOR= #0000BB]$size[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000],[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]x[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700]);[/COLOR]
            [COLOR= #0000BB]$size[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]*[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]x[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700]);[/COLOR]
            
            [COLOR= #FF8000]// If the size still doesnt contain an x char, use the standard size[/COLOR]
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/strpos"]strpos[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$size[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]x[/COLOR][COLOR= #007700]) ==[/COLOR] false[COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]size[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #DD0000]300x225[/COLOR][COLOR= #007700];
            }[/COLOR]
            [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]size[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700];
            }
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]size[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700];
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the title of the chart
     *
     * @param String $title
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setTitle[COLOR= #007700]([/COLOR][COLOR= #0000BB]$title[/COLOR][COLOR= #007700]) {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$title[/COLOR] [COLOR= #007700]!=[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]title[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$title[/COLOR][COLOR= #007700];
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the margin for the chart
     * If no params are given, then all margins are set to zero.
     *
     * @param int $left [optiona]
     * @param int $right [optional]
     * @param int $top [optional]
     * @param int $bottom [optional]
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setMargins[COLOR= #007700]([/COLOR][COLOR= #0000BB]$left[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$right[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$top[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$bottom[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]margins[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
            [COLOR= #DD0000]left[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$left[/COLOR][COLOR= #007700],[/COLOR]
            [COLOR= #DD0000]right[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$right[/COLOR][COLOR= #007700],[/COLOR]
            [COLOR= #DD0000]top[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$top[/COLOR][COLOR= #007700],[/COLOR]
            [COLOR= #DD0000]bottom[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$bottom[/COLOR]
        [COLOR= #007700]);
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the background for the whole image, or the chart area
     *
     * @param Array $data
     *         BG_SOLID: just give an array with the color as first index ex. array(#000000)
     *        BG_LINEAR_GRADIENT: give an array with the colors as index and their offset as value.
     *            Ex. array(000000 => 0, ffffff => 1)
     *        BG_LINEAR_STRIPES: give an array with the colors as index and their width as value.
     *            Ex. array(000000 => 0.25, ffffff => 0.25)
     * @param [optional] String $type
     * @param [optional] int $angle
     * @param [optional] String $type | Dont give this as this is only used to determine wether the chart or whole image used to be filled
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setBackground[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]=[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_SOLID[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$angle[/COLOR] [COLOR= #007700]=[/COLOR] Chart[COLOR= #007700]::[/COLOR]COURSE_HORIZONTAL[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$fill[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]img[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #FF8000]// Solid fill[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_SOLID[COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]background[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #0000BB]$fill[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
                [COLOR= #DD0000]color[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]],[/COLOR]
                [COLOR= #DD0000]type[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$type[/COLOR]
            [COLOR= #007700]);
        }[/COLOR]
        
        [COLOR= #FF8000]// Linear Gradient fill[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_LINEAR_GRADIENT[COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$colors[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]
            
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$offset[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$colors[/COLOR][COLOR= #007700][[/COLOR][URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]#[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700])] =[/COLOR] [COLOR= #0000BB]$offset[/COLOR][COLOR= #007700];
            }[/COLOR]
            
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]background[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #0000BB]$fill[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
                [COLOR= #DD0000]colors[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$colors[/COLOR][COLOR= #007700],[/COLOR]
                [COLOR= #DD0000]angle[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$angle[/COLOR][COLOR= #007700],[/COLOR]
                [COLOR= #DD0000]type[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$type[/COLOR]
            [COLOR= #007700]);
        }[/COLOR]
        
        [COLOR= #FF8000]// Linear stripes fill[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]==[/COLOR] CHART[COLOR= #007700]::[/COLOR]BG_LINEAR_STRIPES[COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$colors[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]
            
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$colors[/COLOR][COLOR= #007700][[/COLOR][URL="http://www.php.net/str_replace"]str_replace[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]#[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700])] =[/COLOR] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700];
            }[/COLOR]
            
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]background[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #0000BB]$fill[/COLOR][COLOR= #007700]] =[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
                [COLOR= #DD0000]colors[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$colors[/COLOR][COLOR= #007700],[/COLOR]
                [COLOR= #DD0000]angle[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$angle[/COLOR][COLOR= #007700],[/COLOR]
                [COLOR= #DD0000]type[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$type[/COLOR]
            [COLOR= #007700]);
            
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Sets the chart-area background.
     * This is NOT the whole image
     *
     * See method setBackground() for param information
     *
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setChartBackground[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$type[/COLOR] [COLOR= #007700]=[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_SOLID[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$angle[/COLOR] [COLOR= #007700]=[/COLOR] Chart[COLOR= #007700]::[/COLOR]COURSE_HORIZONTAL[COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]setBackground[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$type[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$angle[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]chart[/COLOR][COLOR= #007700]);
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] setTransparency[COLOR= #007700]([/COLOR][COLOR= #0000BB]$lvl[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) {
        
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] _numberToHex[COLOR= #007700]([/COLOR][COLOR= #0000BB]$number[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$quotients[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]();[/COLOR]                [COLOR= #FF8000]// Quotienten voor de hex[/COLOR]
        [COLOR= #0000BB]$hex[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"0123456789ABCDEF"[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$pow[/COLOR] [COLOR= #007700]= -[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$mpow[/COLOR] [COLOR= #007700]=[/COLOR] null[COLOR= #007700];[/COLOR]
        
        [COLOR= #FF8000]// Eerste de maximum macht te bepalen[/COLOR]
        [URL="http://www.php.net/for"]for[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700]; ([/COLOR][COLOR= #0000BB]$number[/COLOR]/[URL="http://www.php.net/pow"]pow[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]16[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]) >[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++) {[/COLOR]
            [COLOR= #0000BB]$mpow[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700];[/COLOR]
            [COLOR= #0000BB]$pow[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700];
        }[/COLOR]
        
        [COLOR= #FF8000]// Voor iedere macht[/COLOR]
        [URL="http://www.php.net/for"]for[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]<[/COLOR] [COLOR= #0000BB]$mpow[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++) {[/COLOR]
            [COLOR= #FF8000]// Getal v/d macht verkrijgen[/COLOR]
            [COLOR= #0000BB]$pown[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/pow"]pow[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]16[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$pow[/COLOR][COLOR= #007700]--);[/COLOR]
            
            [COLOR= #FF8000]// Checken hoeveel keer deze macht in ons getal kan[/COLOR]
            [COLOR= #0000BB]$quotient[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/floor"]floor[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$number[/COLOR] / [COLOR= #0000BB]$pown[/COLOR][COLOR= #007700]);[/COLOR]
        
            [COLOR= #FF8000]// Ons getal verminderen met het product van ons quotient met de macht[/COLOR]
            [COLOR= #0000BB]$number[/COLOR] [COLOR= #007700]-=[/COLOR] [COLOR= #0000BB]$pown[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]$quotient[/COLOR][COLOR= #007700];[/COLOR]
            
            [COLOR= #FF8000]// Ons quotient nog vervangen door heximale tekens[/COLOR]
            [COLOR= #0000BB]$quotient[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$hex[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$quotient[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR]
        
            [COLOR= #FF8000]// Toevoegen aan onze array[/COLOR]
            [COLOR= #0000BB]$quotients[/COLOR][COLOR= #007700][] =[/COLOR] [COLOR= #0000BB]$quotient[/COLOR][COLOR= #007700];
        }[/COLOR]
        
        [COLOR= #FF8000]// Onze hex retourneren[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] [URL="http://www.php.net/implode"]implode[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$quotients[/COLOR][COLOR= #007700]).[/COLOR][URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$hex[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$number[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]);
    }[/COLOR]
    
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #007700]function[/COLOR] _hexToNumber[COLOR= #007700]([/COLOR][COLOR= #0000BB]$hex[/COLOR][COLOR= #007700]) {[/COLOR]
        [URL="http://www.php.net/return"]return[/URL] hexdec[COLOR= #007700]([/COLOR][COLOR= #0000BB]$hex[/COLOR][COLOR= #007700]);
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Adds an error to the total error list
     * Errors are outputed when stop() method is called.
     *
     * @param String $error
     * @return void
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _addError[COLOR= #007700]([/COLOR][COLOR= #0000BB]$error[/COLOR][COLOR= #007700]) {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$error[/COLOR] [COLOR= #007700]!=[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700]) {[/COLOR]
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700](![/COLOR][URL="http://www.php.net/in_array"]in_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$error[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]errors[COLOR= #007700])) {[/COLOR]
                [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]errors[COLOR= #007700][] =[/COLOR] [COLOR= #0000BB]$error[/COLOR][COLOR= #007700];
            }
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Outputs the error log and stops further execution of the class
     *
     * @return bool [false]
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] stop[COLOR= #007700]() {[/COLOR]
        [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]errors [COLOR= #007700]as[/COLOR] [COLOR= #0000BB]$error[/COLOR][COLOR= #007700]) {[/COLOR]
            [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$error[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]<br />[/COLOR][COLOR= #007700];
        }[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] false[COLOR= #007700];
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Returns the legend string to use in the url for the chart.
     *
     * @return String
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getLegendAsString[COLOR= #007700]() {[/COLOR]
        [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$total[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/count"]count[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]legend[/COLOR][COLOR= #007700]]);[/COLOR]
        [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]&chdl=[/COLOR][COLOR= #007700];[/COLOR]
        
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$total[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_addError[COLOR= #007700]([/COLOR][COLOR= #DD0000]You have forgotten to set the data[/COLOR][COLOR= #007700]);[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]stop[COLOR= #007700]();
        }[/COLOR]
        
        [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]legend[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$legend[/COLOR][COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700].= ([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++ ==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #0000BB]$legend[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #DD0000]|[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$legend[/COLOR][COLOR= #007700];
        }[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700];
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Returns the values string to use in the url for the chart.
     *
     * @return String
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getValuesAsString[COLOR= #007700]() {[/COLOR]
        [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$total[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/count"]count[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]values[/COLOR][COLOR= #007700]]);[/COLOR]
        [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]&chd=t:[/COLOR][COLOR= #007700];[/COLOR]
        
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$total[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_addError[COLOR= #007700]([/COLOR][COLOR= #DD0000]You have forgotten to set the data[/COLOR][COLOR= #007700]);[/COLOR]
            [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]stop[COLOR= #007700]();
        }[/COLOR]
        
        [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]values[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$val[/COLOR][COLOR= #007700]) {[/COLOR]
            [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700].= ([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++ ==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #0000BB]$val[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$val[/COLOR][COLOR= #007700];
        }[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700];
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Returns the colors string to use in the url for the chart.
     * Returns an empty string if no colors are set.
     *
     * @return String
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getColorsAsString[COLOR= #007700]() {[/COLOR]
        [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]&chco=[/COLOR][COLOR= #007700];[/COLOR]
        
        [COLOR= #FF8000]// If no colors are set, then return an empty string.[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700](![/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]])) {[/COLOR]
            [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700];
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700].= ([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++ ==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$color[/COLOR][COLOR= #007700];
            }
        }[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700];
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Returns the title string to use in the url for the chart.
     * Returns an empty string if no title is set.
     *
     * @return String
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getTitleAsString[COLOR= #007700]() {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]title[/COLOR][COLOR= #007700]])) {[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000]&chtt=[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]title[/COLOR][COLOR= #007700]];
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000][/COLOR][COLOR= #007700];
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Returns the margin string to use in the url for the chart.
     * Returns an empty string if no margins are set.
     *
     * @return String
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getMarginsAsString[COLOR= #007700]() {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]margins[/COLOR][COLOR= #007700]])) {[/COLOR]
            [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]&chma=[/COLOR][COLOR= #007700];[/COLOR]
            [COLOR= #0000BB]$i[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR]
            [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]margins[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$margin[/COLOR][COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]= ([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++ ==[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #0000BB]$margin[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$margin[/COLOR][COLOR= #007700];
            }[/COLOR]
            
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700];
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000][/COLOR][COLOR= #007700];
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Returns the size string to use in the url for the chart.
     * Returns an empty string if no size is set.
     *
     * @return String
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getSizeAsString[COLOR= #007700]() {[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]size[/COLOR][COLOR= #007700]])) {[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000]&chs=[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]size[/COLOR][COLOR= #007700]];
        }[/COLOR]
        [URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
            [URL="http://www.php.net/return"]return[/URL] [COLOR= #DD0000]&chs=300x225[/COLOR][COLOR= #007700];
        }
    }[/COLOR]
    
    [COLOR= #FF8000]/**
     * Returns the background string to use in the url for the chart-background or image-background.
     * Returns an empty string if no background is set.
     *
     * @return String
     **/[/COLOR]
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getBackgroundAsString[COLOR= #007700]() {[/COLOR]
        [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000][/COLOR][COLOR= #007700];[/COLOR]
        
        [COLOR= #FF8000]/**
         * Background Fill
         **/[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]background[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #DD0000]img[/COLOR][COLOR= #007700]])) {[/COLOR]
            [COLOR= #0000BB]$background[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]background[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #DD0000]img[/COLOR][COLOR= #007700]];[/COLOR]
            
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]type[/COLOR][COLOR= #007700]] ==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_SOLID[COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]&chf=bg,s,[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]color[/COLOR][COLOR= #007700]];
            }[/COLOR]
            
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]type[/COLOR][COLOR= #007700]] ==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_LINEAR_GRADIENT[COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]&chf=bg,lg,[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]angle[/COLOR][COLOR= #007700]];[/COLOR]
                
                [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$offset[/COLOR][COLOR= #007700]) {[/COLOR]
                    [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$color[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$offset[/COLOR][COLOR= #007700];
                }
            }[/COLOR]
            
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]type[/COLOR][COLOR= #007700]] ==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_LINEAR_STRIPES[COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]&chf=bg,ls,[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]angle[/COLOR][COLOR= #007700]];[/COLOR]
                
                [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700]) {[/COLOR]
                    [COLOR= #FF8000]// Replace commas by dots as google uses dots for decimal numbers[/COLOR]
                    [COLOR= #0000BB]$width[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/number_format"]number_format[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]2[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000].[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000] [/COLOR][COLOR= #007700]);[/COLOR]
                    
                    [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$color[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$width[/COLOR][COLOR= #007700];
                }
            }
        }[/COLOR]
        
        [COLOR= #FF8000]/**
         * Chart-area Fill
         **/[/COLOR]
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]background[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #DD0000]chart[/COLOR][COLOR= #007700]])) {[/COLOR]
            [COLOR= #0000BB]$background[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]data[COLOR= #007700][[/COLOR][COLOR= #DD0000]background[/COLOR][COLOR= #007700]][[/COLOR][COLOR= #DD0000]chart[/COLOR][COLOR= #007700]];[/COLOR]
            
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]type[/COLOR][COLOR= #007700]] ==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_SOLID[COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]= ([/COLOR][URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ret[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #DD0000]&chf=c,s,[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]|c,s,[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]color[/COLOR][COLOR= #007700]];
            }[/COLOR]
            
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]type[/COLOR][COLOR= #007700]] ==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_LINEAR_GRADIENT[COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]= ([/COLOR][URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ret[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #DD0000]&chf=c,lg,[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]|c,lg,[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]angle[/COLOR][COLOR= #007700]];[/COLOR]
                
                [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$offset[/COLOR][COLOR= #007700]) {[/COLOR]
                    [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$color[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$offset[/COLOR][COLOR= #007700];
                }
            }[/COLOR]
            
            [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]type[/COLOR][COLOR= #007700]] ==[/COLOR] Chart[COLOR= #007700]::[/COLOR]BG_LINEAR_STRIPES[COLOR= #007700]) {[/COLOR]
                [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700]= ([/COLOR][URL="http://www.php.net/empty"]empty[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$ret[/COLOR][COLOR= #007700]) ?[/COLOR] [COLOR= #DD0000]&chf=c,ls,[/COLOR] [COLOR= #007700]:[/COLOR] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000]|c,ls,[/COLOR][COLOR= #007700]).[/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]angle[/COLOR][COLOR= #007700]];[/COLOR]
                
                [URL="http://www.php.net/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$background[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]colors[/COLOR][COLOR= #007700]] as[/COLOR] [COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700]) {[/COLOR]
                    [COLOR= #FF8000]// Replace commas by dots as google uses dots for decimal numbers[/COLOR]
                    [COLOR= #0000BB]$width[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/number_format"]number_format[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]2[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000].[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000] [/COLOR][COLOR= #007700]);[/COLOR]
                    
                    [COLOR= #0000BB]$ret[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$color[/COLOR][COLOR= #007700].[/COLOR][COLOR= #DD0000],[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$width[/COLOR][COLOR= #007700];
                }
            }
        }[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$ret[/COLOR][COLOR= #007700];
    }[/COLOR]
    
    [URL="http://www.php.net/protected"]protected[/URL] final [COLOR= #007700]function[/COLOR] _getBaseUrl[COLOR= #007700]() {[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]//chart.googleapis.com/chart[/COLOR][COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #DD0000]?cht=[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]chart_type[COLOR= #007700];[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getLegendAsString[COLOR= #007700]();[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getValuesAsString[COLOR= #007700]();[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getColorsAsString[COLOR= #007700]();[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getTitleAsString[COLOR= #007700]();[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getSizeAsString[COLOR= #007700]();[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getMarginsAsString[COLOR= #007700]();[/COLOR]
        [COLOR= #0000BB]$url[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getBackgroundAsString[COLOR= #007700]();[/COLOR]
        
        [URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$url[/COLOR][COLOR= #007700];
    }
}[/COLOR]

[URL="http://www.php.net/class"]class[/URL] LineChart extends Chart implements iChart [COLOR= #007700]{[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __construct[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]=[/COLOR] null[COLOR= #007700]) {[/COLOR]
        parent[COLOR= #007700]::[/COLOR]__construct[COLOR= #007700]([/COLOR]Chart[COLOR= #007700]::[/COLOR]LINE_CHART[COLOR= #007700]);[/COLOR]
        
        [URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR] [COLOR= #007700]!==[/COLOR] null [COLOR= #007700]&&[/COLOR] [URL="http://www.php.net/is_array"]is_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700])) {[/COLOR]
            parent[COLOR= #007700]:[/COLOR]SMILEYYYYYYYYYYYBEGIN[COLOR= #007700]:[/COLOR]setData[COLOR= #007700]([/COLOR][COLOR= #0000BB]$data[/COLOR][COLOR= #007700]);
        }
    }[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] test[COLOR= #007700]() {[/COLOR][URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]TESTING[/COLOR][COLOR= #007700];}[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] getChart[COLOR= #007700]() {[/COLOR]
        [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<img src="[/COLOR][COLOR= #007700].[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]_getBaseUrl[COLOR= #007700]().[/COLOR][COLOR= #DD0000]" />[/COLOR][COLOR= #007700];
    }
}[/COLOR]
[BELANGRIJK]
Dankzij het succes van deze class, heb ik besloten een nieuwe te maken. Een class die nog veel beter is dan deze. Nu kan je wel zeggen waarom ? Wel, deze class is eigenlijk vooral gericht op cirkeldiagrammen, andere diagrammen heb nooit getest of gebruikt.

Er zijn nog zoveel meer mogelijkheden, daarom ga ik een nieuwe class maken, met veel meer mogelijkheden. Maar dit zal wel wat werk kosten, aangezien ik het (met mn huidige kennis) anders ga aanpakken.

Ik zal hierover een nieuw topic maken wanneer ik al wat verder sta.

Aan degene die het tot nu gebruiken, bedankt! En kijk er naar uit biggrin

[/BELANGRIJK]

Ik was wat aan het rondkijken en ben een chart class tegengekomen die ik ooit eens had gemaakt voor een of ander project met statistiek.

Dus als je even lui bent zoals ik om de deftige google charts api te bestuderen. Dan kan je deze class gebruiken.

Hij is simpel in omgang, enkel de data en grafiektype doorgeven is al genoeg smile
Voorbeeld:

[COLOR= #0000BB]<?php
$data[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
    [COLOR= #DD0000]legende1[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]5[/COLOR][COLOR= #007700],[/COLOR]
    [COLOR= #DD0000]legende2[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]3[/COLOR][COLOR= #007700],[/COLOR]
    [COLOR= #DD0000]leegend3[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]8[/COLOR]
[COLOR= #007700]);[/COLOR]

[COLOR= #0000BB]$chart[/COLOR] [COLOR= #007700]= new[/COLOR] Chart[COLOR= #007700]([/COLOR]Chart[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR]PIE_CHART[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700],[/COLOR] null[COLOR= #007700],[/COLOR] [COLOR= #DD0000]Mijn test grafiek[/COLOR][COLOR= #007700]);[/COLOR]

[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #0000BB]$chart[/COLOR][COLOR= #007700]->[/COLOR]getChart[COLOR= #007700]();[/COLOR]
?>


Resultaat:
Afbeelding

Met kleur:

[COLOR= #0000BB]<?php
$chart[/COLOR] [COLOR= #007700]= new[/COLOR] Chart[COLOR= #007700]([/COLOR]Chart[COLOR= #007700]:[/COLOR][COLOR= #007700]:[/COLOR]PIE_CHART[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]Chart[COLOR= #007700]::[/COLOR]BLUE[COLOR= #007700],[/COLOR] Chart[COLOR= #007700]::[/COLOR]GREEN[COLOR= #007700],[/COLOR] Chart[COLOR= #007700]::[/COLOR]RED[COLOR= #007700]),[/COLOR] [COLOR= #DD0000]Mijn test grafiek[/COLOR][COLOR= #007700]);[/COLOR]

Afbeelding

De class:
Spoiler tonen
[COLOR= #0000BB]<?php[/COLOR]

[URL="http://www.php.net/class"]class[/URL] Chart [COLOR= #007700]{[/COLOR]
    
    [COLOR= #FF8000]/**
     * Chart Types
     **/[/COLOR]
    const LINE_CHART [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]lc[/COLOR][COLOR= #007700];[/COLOR]
    const LINE_CHART_SPARKLINE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]ls[/COLOR][COLOR= #007700];[/COLOR]
    const LINE_CHART_XY [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]lxy[/COLOR][COLOR= #007700];[/COLOR]
    const BAR_CHART [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]bhs[/COLOR][COLOR= #007700];[/COLOR]
    const BAR_CHART_VERTICAL [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]bvs[/COLOR][COLOR= #007700];[/COLOR]
    const BAR_CHART_HORIZONTAL_GROUPED [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]bhg[/COLOR][COLOR= #007700];[/COLOR]
    const BAR_CHART_VERTICAL_GROUPED [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]bvg[/COLOR][COLOR= #007700];[/COLOR]
    const PIE_CHART [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]p[/COLOR][COLOR= #007700];[/COLOR]
    const PIE_CHART_THREED [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]p3[/COLOR][COLOR= #007700];[/COLOR]
    const PIE_CHART_CONCENTRIC [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]c[/COLOR][COLOR= #007700];[/COLOR]
    const RADAR_CHART [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]r[/COLOR][COLOR= #007700];[/COLOR]
    const RADER_CHART_SPLINES [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]rs[/COLOR][COLOR= #007700];[/COLOR]
    const SCATTER_PLOT [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]s[/COLOR][COLOR= #007700];[/COLOR]
    const QR_CODE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]qr[/COLOR][COLOR= #007700];[/COLOR]
    const O_METER [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]gm[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Colors
     */[/COLOR]
    const BLACK [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]000000[/COLOR][COLOR= #007700];[/COLOR]
    const SILVER [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]C0C0C0[/COLOR][COLOR= #007700];[/COLOR]
    const GRAY [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]808080[/COLOR][COLOR= #007700];[/COLOR]
    const WHITE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]FFFFFF[/COLOR][COLOR= #007700];[/COLOR]
    const MAROON [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]800000[/COLOR][COLOR= #007700];[/COLOR]
    const RED [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]FF0000[/COLOR][COLOR= #007700];[/COLOR]
    const PURPLE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]800080[/COLOR][COLOR= #007700];[/COLOR]
    const GREEN [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]008000[/COLOR][COLOR= #007700];[/COLOR]
    const YELLOW [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]FFFF00[/COLOR][COLOR= #007700];[/COLOR]
    const BLUE [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]005BB7[/COLOR][COLOR= #007700];[/COLOR]
    
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$charType[/COLOR][COLOR= #007700];[/COLOR]
    
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$legend[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$values[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$colors[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700];[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$title[/COLOR][COLOR= #007700];[/COLOR]
    
    [URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] __construct[COLOR= #007700]([/COLOR][COLOR= #0000BB]$type[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$data[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$colors[/COLOR] [COLOR= #007700]=[/COLOR] null[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$title[/COLOR] [COLOR= #007700]=[/COLOR] null[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$size[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #DD0000]300x225[/COLOR][COLOR= #007700]) {[/COLOR]
        [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]setCharType[COLO
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Dit ziet er wel nice uit!
Nice dat je het released smile
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Misschien is het handig dat je de kleuren gelijk kan doorgeven in de $data array yummie
0
Robbeing

Lid · Topicstarter

Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nielsie schreef:
Dit ziet er wel nice uit!
Nice dat je het released smile
Geen probleem ben al blij dat je t handig vindt smile
Thommity schreef:
Misschien is het handig dat je de kleuren gelijk kan doorgeven in de $data array yummie
Ja, misschien wel smile.
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb een suggestie: Lijngrafieken? biggrin
Niet goed gekeken, laat maar emo
Ziet er wel mooi uit in ieder geval!
0
Berichten
190
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Tnx! thumbsup
0
Robbeing

Lid · Topicstarter

Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jponsen schreef:
Ik heb een suggestie: Lijngrafieken? biggrin
Niet goed gekeken, laat maar emo
Ziet er wel mooi uit in ieder geval!
Bedankt smile
Superhosting schreef:
Tnx! thumbsup
Jij bedankt biggrin
================================================================
Als ik wat tijd heb zal ik kijken om hem eventueel uit te breiden met meer mogelijkheden, of speciale gevallen etc... smile
toevoeging op 25 februari 2013, 21:56:50:
Want voorlopig is hij eigenlijk gericht voor cirkeldiagrammen yummie
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Leuke class Robbe. Kun je m PSR valid maken?
0
Robbeing

Lid · Topicstarter

Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Leuke class Robbe. Kun je m PSR valid maken?
Thanks smile Maar over die PSR-term yummie Hoe is dat volluit geschreven, want ik heb geen flauw benul waarover je het hebt yummie
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Robbeing schreef:
Eerdere citaten tonen
Raaoul schreef:
Leuke class Robbe. Kun je m PSR valid maken?
Thanks smile Maar over die PSR-term yummie Hoe is dat volluit geschreven, want ik heb geen flauw benul waarover je het hebt yummie
We hadden onlangs toch nog een discussie met Niels of hij zn class PSR-0 valid wou maken? Hoe kun je dat nu niet meer kennen dan?
0
Berichten
6.485
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
PHP Standards Recommendation
0
Robbeing

Lid · Topicstarter

Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Eerdere citaten tonen
Robbeing schreef:
Eerdere citaten tonen
Raaoul schreef:
Leuke class Robbe. Kun je m PSR valid maken?
Thanks smile Maar over die PSR-term yummie Hoe is dat volluit geschreven, want ik heb geen flauw benul waarover je het hebt yummie
We hadden onlangs toch nog een discussie met Niels of hij zn class PSR-0 valid wou maken? Hoe kun je dat nu niet meer kennen dan?
Kende de afkorting niet yummie Nog de volle term, ken gewoon de normen omdat ik via een doorverwijzing op de pagina ben terechtgekomen.
0
Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nice, ga ik zeker usen. Thank you n_n
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik kom hier even niet uit, ik wil namelijk een grafiek met mijn unieke bezoekers.

Ik heb in mijn database een tabel "uniekbez", hierin zitten 3 kolommen: id, datum en bez.

Nu gebruik ik de functie LINE_CHART_SPARKLINE. En wil ik dus dat hij de legendes veranderd door de datum, en in de grafiek het aantal bezoekers (bez) aangeeft, kan iemand mij helpen?
0
Robbeing

Lid · Topicstarter

Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Shahiem schreef:
Nice, ga ik zeker usen. Thank you n_n
Great thumbsup
Jponsen schreef:
Ik kom hier even niet uit, ik wil namelijk een grafiek met mijn unieke bezoekers.

Ik heb in mijn database een tabel "uniekbez", hierin zitten 3 kolommen: id, datum en bez.

Nu gebruik ik de functie LINE_CHART_SPARKLINE. En wil ik dus dat hij de legendes veranderd door de datum, en in de grafiek het aantal bezoekers (bez) aangeeft, kan iemand mij helpen?
via je $data-array kan je waardes koppelen aan je legende, zoals in het voorbeeld.

[COLOR= #0000BB]<?php
$data[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][COLOR= #007700]([/COLOR]
    [COLOR= #DD0000]legende1[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]5[/COLOR][COLOR= #007700],[/COLOR]
    [COLOR= #DD0000]legende2[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]3[/COLOR][COLOR= #007700],[/COLOR]
    [COLOR= #DD0000]leegend3[/COLOR] [COLOR= #007700]=>[/COLOR] [COLOR= #0000BB]8[/COLOR]
[COLOR= #007700]);[/COLOR]?>
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren