Beispiel 15 - Balken Diagramm vertikal gestapelt

<embed src="/charts/Beispiele/15-balken-vertikal-gestapelt-jahreszahlen.php" type="image/svg+xml">

Quellcode Beispiel 15

<?php
// alle Varianten BarGraph
// Farbangaben sind nicht zwingend notwendig
// es gibt das grundsätzliche Problem, dass Zahlenangaben nicht ordentlich interpretiert werden
require '../../svggraph/autoloader.php';
if (empty($_GET)){
/* 
$settings['structure'] = array(
  'key' => 0, 
  'value' => array(1, 2),
  'legend_text' => array('l1', 'l2')
);

$values = array(
  array('2001', 18, 22, 'l1' => 'Monday',
        'l2' => 'Twenty-two'),
  array('2002', 17, 25, 'l1' => 'Tuesday'),
  array('2003', 14, 27, 'l1' => 'Wednesday'),
  array('2004', 15, 23, 'l1' => 'Thursday'),
  array('2005', 13, 24, 'l1' => 'Friday',    
        'l2' => 'Another one'),
  array('2006', 16, 24, 'l1' => 'Saturday'),
  array('2007', 12, 21, 'l1' => 'Sunday')
);
*/
$settings['structure'] = array(
  'key' => 0, 
  'value' => array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20),
  //'legend_text' => array('l1', 'l2')
);
// http://9f8-charttools.localhost/array-01.php?2011=13,22,32&2012=15,23,33&2013=18,23,43&2014=20,12,12&2015=22,24,24&_labels=Busse,Lkw,Pkw
// Vorbild
// http://9f8-charttools.localhost/vbarneu.php?Busse=13,15,18,20,22&Lkw=22,23,23,12,24&Pkw=32,33,43,12,24&_labels=2011,2012,2013,2014,2015
// oder anders sortiert:
// http://9f8-charttools.localhost/vbarneu.php?2011=13,22,32&2012=15,23,33&2013=18,23,43&2014=20,12,12&2015=22,24,24&_labels=Busse,Lkw,Pkw
// mit dieser Datei
// http://9f8-charttools.localhost/charts/15-balken-vertikal-gestapelt-jahreszahlen.php?2011=13,22,32&2012=15,23,33&2013=18,23,43&2014=20,12,12&2015=22,24,24&_labels=Busse,Lkw,Pkw
$settings['legend_entries'] = array(
  'Busse','Lkw','Pkw'
);

$settings['auto_fit'] = true;

$values = array(
  array('2001', 18, 22, 25),
  array('2002', 17, 0, 25),
  array('2003', 14, 27,25),
  array('2004', 15, 23),
  array('2005', 13, 24),
  array('2006', 16, 24),
  array('2007', 12, 21)
);


$graph = new Goat1000\SVGGraph\SVGGraph(400, 400, $settings);
$graph->Values($values);
$graph->Render('StackedBarGraph');
}
else {
// Struktur vorbereiten 
    $settings['structure'] = array(
    'key' => 0, 
    'value' => array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20),
    );
// Label /Legende auswerten
    if (isset($_GET['_labels'])) {
        $settings['legend_entries'] = explode(",", $_GET['_labels']);
    }   
// Get-Variablen uebernehmen und nicht-Value entfernen, wichtig, event. noch HTMLChar.
    $valueextern[0] = $_GET;
    unset($valueextern[0]['_height']);
    unset($valueextern[0]['_style']);
    unset($valueextern[0]['_labels']);
    unset($valueextern[0]['_title']);
    unset($valueextern[0]['_mode']);
    echo "Legende aus GET";
    echo "<pre>";   
    print_r($settings['legend_entries']);
    echo "</pre>";  
    echo "Werte aus GET";
    echo "<pre>";
    print_r($valueextern);
    echo "</pre>";
    $values = array(
  array('2011', 13,22,32),
  array('2012', 15,23,33),
  array('2013', 18,23,43),
  array('2014', 20,12,12),
  array('2015', 22,24,24),
);
    echo "Zielformat";
    echo "<pre>";   
    print_r($values);
    echo "</pre>";
    echo "<br>";
    echo "<br>";
    echo "Beispiel";
    echo "<br>";
    echo "<br>";
    $unternehmen = array(
        "Vertrieb" => array("Klaus", "Lisa", "Lea"),
        "Produktion" => array("Peter", "Max")
    );
    echo "<pre>";   
    print_r($unternehmen);
    echo "</pre>";
    echo "<br>";

foreach($unternehmen AS $abteilung => $mitarbeiter_der_abteilung) {
  echo "Mitarbeiter der Abteilung: $abteilung <br>";
  foreach($mitarbeiter_der_abteilung AS $mitarbeiter) {
    echo "$mitarbeiter <br>";
  }
  echo "<br>";
}   

}
?>

Diese Datei kann auch mit Parametern aufgerufen werden. Beispiele müssen noch erstellt werden.