File: composite_1.t

package info (click to toggle)
libchart-perl 2.4.1-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 1,804 kB
  • ctags: 370
  • sloc: perl: 9,120; makefile: 532
file content (74 lines) | stat: -rw-r--r-- 2,105 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/usr/bin/perl -w


use Chart::Composite;
print "1..1\n";

my $obj = Chart::Composite->new(600, 500);   
my @legend_ary;
my ($legend, @zeile)    ;
my @all_aryref;
open(OUT, ">samples/composite_1.png") or die "cannot write file samples/composite_1.png\n";

my $i =0;
my $e = 0;
my $max_val = 0;
while(<DATA>) {
        if ($_ =~ /EOF/i){
            last;
      }
      chomp;
       $i++;
       ($legend, @zeile) = split/\|/,$_;
       $obj->add_dataset(@zeile);
       if ( $i != 1 ){
              push @legend_ary ,$legend ;    # Erste Zeile ist die x-Achsenbezeichnung und gehrt nicht zur Legende
              for (0..$#zeile) { $zeile[$_] > $max_val  ? $max_val = $zeile [$_]  : 1 ;}  # den Maximalen Wert ermitteln
       }
       $all_aryref[$e++] = [@zeile];

}

if ( $max_val =~ /^\d+$/ ) {

      $max_val = 100 * int( 1 + $max_val/100);
} # den Scalenwert die nchste 100er Stellen setzen

# Der zweite Charttyp berdeckt immer den ersten
$obj->set(  'legend'        => "top",
            'legend_labels' => \@legend_ary ,
            'x_ticks'       => "vertical",
            'composite_info'=> [ ['StackedBars', [8,7,6,5]  ],
                                 ['Bars',[1,2,3,4,9] ],
                                ],
	    'same_y_axes'  => "true",
            'y_label'      => "Anzahl",
            'min_val1'     =>  0 ,
            'max_val1'     =>  $max_val ,
            'max_val2'     =>  $max_val,
            'space_bars'   =>  1 ,
            'brush_size'   =>  10,
	    'legend'       => 'bottom',
	    'title'        => 'Composite Demo Chart',
	    'legend_example_height'  => 'true',
	    'legend_example_height0..3' => '50',
	    'legend_example_height4..9' => '4',
	     );
$obj->png(\*OUT);
close OUT;
print "ok 1\n";
exit 0;

__END__
Datum|01.09.2003|02.09.2003|03.09.2003|04.09.2003
Anzahl gesamt|322|244|227|223
Anzahl  Stufe 1 bis 4 gesamt|226|173|159|145
Anzahl JL|77|46|44|61
Anzahl  DL|19|25|24|17            
Anzahl  1. Stufe|28|22|11|27
Anzahl  2. Stufe|12|11|4|7
Anzahl  3. Stufe|50|39|55|34
Anzahl  4. Stufe|136|101|89|77
Anzahl Formulare|547|352|249|174
EOF