# transform data sub _log_scale { my ( $self, @y ) = @_; foreach my $y (@y) { foreach my $data (@{$y}) { if (!defined $data || $data <= 0) { $data = undef; } else { $data = log($data); } } } return @y; } # now "fix" the y labels sub _y_exp_format { my ( $v ) = @_; return 0 if !defined $v; return sprintf( "%.0f", exp($v)); } if ($self->get_logscale) { $graph->set('y_number_format' => \&_y_exp_format, # 'y_min_value' => -1 ); }