#!/usr/bin/perl use strict; use GD::Graph::lines; #Default Variablen my $width=500; my $height=300; #my $graph_title='Entlade-Lade-Kurve Surfen und Mail'; #my $graph_title='Entlade-Lade-Kurve beim DVD-Schauen'; my $graph_title='Entlade-Lade-Kurve bei wechselnder Last'; my $x_label='rot = cpufreq in %; grün = batterylife; blau = batterytime; gelb = loadavg*100'; my $y_label=''; #my $image_name='lade-entladekurve-surfen-mail.png'; #my $image_name='lade-entladekurve-dvd-schauen.png'; my $image_name='lade-entladekurve-wechselnde-last.png'; #----------------- my $zeit=0; my $i = 0; my @zeit; my @batterylife; my @batterytime; my @cpufreq; my @vmloadavg; my @data; while(<>){ chomp; my @fields = split/ /; my $batterylife = $fields[1]; my $batterytime = $fields[3]; my $cpufreq = $fields[5]; my $vmloadavg = $fields[8]; #printf "%.1f %i %i %i %.2f\n", $zeit, $batterylife, $batterytime, $cpufreq, $vmloadavg; $zeit[$i] = $zeit; $batterylife[$i] = $batterylife; $batterytime[$i] = $batterytime; $cpufreq[$i] = $cpufreq/15; $vmloadavg[$i] = $vmloadavg * 100; $zeit+=0.5; $i++; } @data = (\@zeit, \@cpufreq, \@batterylife, \@batterytime, \@vmloadavg); #my $x_tick_number=int($i%60); #print "$x_tick_number"; my $graph = GD::Graph::lines->new($width, $height); #$graph->set_legend("Dies","und","das","hallo"); $graph->set( t_margin => 10, r_margin => 10, x_label => $x_label, y_label => $y_label, title => $graph_title, # x_tick_number => 8, x_label_skip => 60, # x_tick_offset => 1, # y_max_value => 8, # y_tick_number => 15, # y_label_skip => 1, y_max_value => 150, y_min_value => 0, ) or die $graph->error; my $gd = $graph->plot(\@data) or die $graph->error; open(IMG, ">$image_name") or die $!; print IMG $graph->plot(\@data)->png;