Chart-GGPlot
view release on metacpan or search on metacpan
lib/Chart/GGPlot/Stat/Count.pm view on Meta::CPAN
package Chart::GGPlot::Stat::Count;
# ABSTRACT: Statistic method that counts number of data in bin
use Chart::GGPlot::Class qw(:pdl);
use namespace::autoclean -except => 'stat';
use MooseX::Singleton;
our $VERSION = '0.002003'; # VERSION
use Data::Frame;
use Chart::GGPlot::Aes::Functions qw(aes);
use Chart::GGPlot::Layer;
use Chart::GGPlot::Util qw(resolution stat);
use Chart::GGPlot::Util::Pod qw(layer_func_pod);
with qw(
Chart::GGPlot::Stat
);
has '+default_aes' => (
default => sub {
aes(
y => q{stat($count)},
weight => 1,
);
}
);
classmethod required_aes() { ['x'] }
my $stat_count_pod = layer_func_pod(<<'EOT');
stat_count(:$mapping=undef, :$data=undef,
:$geom='bar', :$position='stack',
:$width=undef,
:$na_rm=false, :$show_legend=undef, :$inherit_aes=true,
%rest)
Arguments:
=over 4
%TMPL_COMMON_ARGS%
=item * $width
Bar width. By default, set to 90% of the resolution of the data.
=back
EOT
my $stat_count_code = fun (
:$mapping = undef, :$data = undef,
:$geom = 'bar', :$position = 'stack',
:$width = undef, :$na_rm = false,
:$show_legend = undef, :$inherit_aes = true,
%rest )
{
my $params = {
na_rm => $na_rm,
width => $width,
%rest
};
if ( $data->exists('y') ) {
die "stat_count() must not be used with a y aesthetic.";
}
return Chart::GGPlot::Layer->new(
data => $data,
mapping => $mapping,
stat => 'count',
geom => $geom,
position => $position,
show_legend => $show_legend,
inherit_aes => $inherit_aes,
params => $params,
);
};
classmethod ggplot_functions() {
return [
{
( run in 0.816 second using v1.01-cache-2.11-cpan-39bf76dae61 )