plotpipe: --nox = first column is not x-axis.
This commit is contained in:
parent
fb1c5b18ce
commit
4f131005cb
|
@ -9,7 +9,7 @@ plotpipe - Plot CSV data from a pipe
|
|||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
I<datagenerator> | B<plotpipe> [-H] [-0] [-C str] [-h] [-V]
|
||||
I<datagenerator> | B<plotpipe> [-n] [-H] [-0] [-C str] [-h] [-V]
|
||||
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
@ -48,6 +48,14 @@ B<--header>.
|
|||
Show help.
|
||||
|
||||
|
||||
=item B<--nox>
|
||||
|
||||
=item B<-n>
|
||||
|
||||
No x-value. In a multi-column input the first value will normally be
|
||||
used as x-value. B<--nox> will use line number as x-value.
|
||||
|
||||
|
||||
=item B<--null>
|
||||
|
||||
=item B<-0>
|
||||
|
@ -153,6 +161,7 @@ sub options_hash() {
|
|||
"colsep|col-sep|C=s" => \$opt::colsep,
|
||||
"help|h" => \$opt::help,
|
||||
"null|0" => \$opt::null,
|
||||
"nox|n" => \$opt::nox,
|
||||
"header|H" => \$opt::header,
|
||||
);
|
||||
}
|
||||
|
@ -327,23 +336,22 @@ $ENV{'TMPDIR'} ||= "/tmp";
|
|||
my($filehandle,$filename) =
|
||||
tempfile(DIR=>$ENV{'TMPDIR'}, TEMPLATE => 'plotXXXXX');
|
||||
my $ncols = split /$opt::colsep/, $csv[0];
|
||||
if($ncols >= 2) {
|
||||
if($ncols >= 2 and not $opt::nox) {
|
||||
# Column 1 = x-axis
|
||||
for(@csv) {
|
||||
chomp;
|
||||
print $filehandle ((join "\001", split /$opt::colsep/, $_),"\n");
|
||||
}
|
||||
} else {
|
||||
# Column 1 = y-axis
|
||||
my $t = 1;
|
||||
# Convert 1 column to 2 column
|
||||
# All data = y-axis, invent x-axis
|
||||
my $x = 1;
|
||||
for(@csv) {
|
||||
chomp;
|
||||
print $filehandle ((join "\001", $t++, $_),"\n");
|
||||
print $filehandle ((join "\001", $x++, split /$opt::colsep/, $_),"\n");
|
||||
}
|
||||
# Plot 2 columns
|
||||
# Prepend dummy header for x-axis
|
||||
unshift(@header,"");
|
||||
$ncols = 2;
|
||||
$ncols += 1;
|
||||
}
|
||||
|
||||
# Generate the variant part of Gnuplot script
|
||||
|
@ -367,7 +375,13 @@ set datafile separator "\001";
|
|||
plot @plotscript
|
||||
_EOS
|
||||
|
||||
if(fork) {
|
||||
open GNUPLOT,"|-", "gnuplot -p -e ".Q($plotscript) or die;
|
||||
#print "gnuplot -p -e ".($plotscript);
|
||||
close GNUPLOT;
|
||||
unlink $filename;
|
||||
} else {
|
||||
# If script dies unexpectedly, remove the file after 5 sec
|
||||
sleep(5);
|
||||
unlink $filename;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue