#!/usr/local/bin/perl @colors = ("255 0 0", "255 132 0", "247 255 0", "115 255 0", "0 231 255", "0 99 255"); $color_index = 0; $bg = "191 191 191"; $font = "large"; $max = -2147483648; $image_x = 300; $image_y = 500; $bar_width = 40; $bar_space = 5; while (<>) { chop; ($value, $label) = split (' ', $_, 2); if ($value > $max) { $max = $value; } push (@list, "$value$label"); } $image_y = ($#list + 1) * ($bar_width + $bar_space); $x = 0; $y = 0; printf ("create %dx%d\n", $image_x, $image_y); printf ("color %s\n", $bg); printf ("transparent %s\n", $bg); printf ("font %s\n", $font); printf ("filled-rectangle 0,0 %d,%d\n", $image_x-1, $image_y-1); for (@list) { ($value, $label) = split (''); $ratio = $value/$max; $percentage = $ratio*100; if ($color_index > $#colors) { $color_index = 0; } printf ("color %s\n", $colors[$color_index]); $color_index++; printf ("filled-rectangle %d,%d %d,%d\n", $x, $y, $x + $image_x * $ratio, $y + $bar_width); printf ("color 0 0 0\n"); printf ("label %d,%d %s %d%%\n", $x+5, $y+10, $label, $percentage); $y += $bar_width + $bar_space; } exit 0;