App-GnuplotUtils
view release on metacpan or search on metacpan
- [doc] Add tips & tricks section in Description.
0.005 2023-10-21 Released-By: PERLANCAR; Urgency: medium
[cli xyplot]
- [ux] Allow one to multiple numbers (not just exactly 2) in each line
of dataset file.
- [ux] Check each number with Scalar::Util's looks_like_number().
- [doc] Tweak Synopsis.
0.004 2023-10-20 Released-By: PERLANCAR; Urgency: low
- No functional changes.
[cli xyplot]
lib/App/GnuplotUtils.pm view on Meta::CPAN
$n = $#{ $args{dataset_files} };
}
my @datasets;
for my $i (0..$n) {
my (@x, @y);
if ($args{dataset_datas}) {
my $dataset = [split $fieldsep_re, $args{dataset_datas}[$i]];
while (@$dataset) {
my $item = shift @$dataset;
warn "Not a number in --dataset-data: '$item'" unless Scalar::Util::looks_like_number($item);
push @x, $item;
warn "Odd number of numbers in --dataset-data" unless @$dataset;
$item = shift @$dataset;
warn "Not a number in --dataset-data: '$item'" unless Scalar::Util::looks_like_number($item);
push @y, $item;
}
} else {
my $filename = $args{dataset_files}[$i];
my $content = File::Slurper::Dash::read_text($filename);
chomp $content;
my @numbers = split $fieldsep_re, $content;
warn "Odd number of numbers in dataset file '$filename'" unless @numbers % 2 == 0;
while (@numbers) {
my $item = shift @numbers;
warn "Not a number in dataset file '$filename': '$item'" unless Scalar::Util::looks_like_number($item);
push @x, $item;
$item = shift @numbers;
warn "Not a number in dataset file '$filename': '$item'" unless Scalar::Util::looks_like_number($item);
push @y, $item;
}
}
my $dataset = Chart::Gnuplot::DataSet->new(
xdata => \@x,
ydata => \@y,
title => $args{dataset_titles}[$i] // "(dataset #$i)",
style => $args{dataset_styles}[$i] // 'linespoints',
);
( run in 0.404 second using v1.01-cache-2.11-cpan-64827b87656 )