use strict; use warnings; use PDL; use PDL::IO::Image; # data my $x = sequence( 100, 100 ); # ranges my $range1 = $x < 3000; my $range2 = ( $x >= 3000 ) * ( $x <= 7000 ); my $range3 = $x > 7000; my $bytes = ( $range1 + 2 * $range2 + 3 * $range3 )-> byte; my $palette = byte [ [ 0, 0, 0 ], [ 255, 50, 50 ], [ 128, 255, 0 ], [ 255, 215, 0 ] ]; $bytes-> wimage( 'test.png', { palette => $palette });