ANSI-Heatmap
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
examples/gray.pl
examples/interp.pl
examples/random.pl
examples/smallinterp.pl
lib/ANSI/Heatmap.pm
LICENSE
Makefile.PL
MANIFEST This list of files
README.pod
t/basic.t
META.yml Module YAML meta-data (added by MakeMaker)
META.json Module JSON meta-data (added by MakeMaker)
}
print $map;
$map->interpolate(1);
$map->width(25);
$map->height(25);
$map->swatch('grayscale');
print $map;
my $data = $map->data;
# Mess with the data...
print $map->render($data);
# Custom swatch
$map->swatch([0x10 .. 0x15]);
=head1 DESCRIPTION
Produce cutting-edge ANSI heatmaps using 256 colours and weird Unicode
characters! Perfect for 3D (2D + intensity) data.
=head1 METHODS
=head2 new ( [ARGS] )
C<ARGS> may be a hash or hashref accepting the following keys, which
also have getter/setter methods:
=over 4
lib/ANSI/Heatmap.pm view on Meta::CPAN
defined $sw or croak "swatch: swatch name is undefined";
exists $SWATCHES{$sw} or croak "swatch: swatch '$sw' does not exist";
$self->{swatch} = $SWATCHES{$sw};
}
}
return $self->{swatch};
}
sub to_string {
my $self = shift;
return $self->render($self->data);
}
# Convert heatmap hash to a 2D grid of intensities, normalised between 0 and 1,
# cropped to the min/max range supplied and scaled to the desired width/height.
sub data {
my ($self, $mm) = @_;
my %mm = $self->_figure_out_min_and_max;
my $inv_max_z = $mm{zrange} ? 1 / $mm{zrange} : 0;
my @out;
my $xscale = $mm{width} / ($mm{max_x} - $mm{min_x} + 1);
my $yscale = $mm{height} / ($mm{max_y} - $mm{min_y} + 1);
my $get = sub { $self->{map}[ $_[1] ][ $_[0] ] || 0 };
my $sample;
if (!$self->interpolate
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.464 second using v1.00-cache-2.02-grep-82fe00e-cpan-4673cadbf75 )