-
Notifications
You must be signed in to change notification settings - Fork 23
plot_lines
plot_lines is somewhat unfinished, but is intended to be able to plot a list of values to specified keys as multiple lines. Alternatively, plot a key with a list of ; separated values.
Plotting is done using GNUplot which allows for different types of output the default one being crufty ASCII graphics.
GNUplot must be installed for plot_lines to work. Read more here:
... | plot_lines [options]
[-? | --help] # Print full usage description.
[-x | --no_stream] # Do not emit records.
[-o <file> | --data_out=<file>] # Write result to file.
[-k <list> | --keys=<list>] # List of keys that holds values to plot.
[-l <string> | --list=<string>] # Key with a list of ; seperated values to plot.
[-t <string> | --terminal=<string>] # Terminal for output: dumb|post|svg|x11|aqua - Default=dumb
[-T <string> | --title=<string>] # Set plot title - Default="Lines".
[-X <string> | --xlabel=<string>] # Set x-axis label.
[-Y <string> | --ylabel=<string>] # Set y-axis label.
[-L | --logscale_y] # Set y-axis to log scale.
[-s <sting> | --sort=<string>] # Sort criteria for x-axis keys: num|alph - Default=alph
[-I <file!> | --stream_in=<file!>] # Read input from stream file - Default=STDIN
[-O <file> | --stream_out=<file>] # Write output to stream file - Default=STDOUT
[-v | --verbose] # Verbose output.
Considere the following table in the file test.tab
:
38;37;36;36;36;35;35;35;34;33;33;19;16;17;16;18;19;15;13;13;12;13;12;12;11;11;10;9;9;8;8
Now, reading in this data using read_tab will result in the following Biopieces record:
read_tab -i test.tab
V0: 38;37;36;36;36;35;35;35;34;33;33;19;16;17;16;18;19;15;13;13;12;13;12;12;11;11;10;9;9;8;8
---
This data is a ; separated list and can be plottet with ASCII graphics using plot_lines with the -l
switch:
read_tab -i test.tab | plot_lines -l V0 -x
Lines
40 ++------------------------------------------------------------------++
** V0 ****** |
| ********** |
35 ++ ********* ++
| *** |
30 ++ * ++
| * |
| * |
25 ++ * ++
| * |
| * |
20 ++ *** ** ++
| *** ** * |
| * ** * |
15 ++ ** ++
| ************** |
10 ++ ******* ++
| ********
| |
5 ++----------+----------+-----------+----------+-----------+---------++
0 5 10 15 20 25 30
Similarly, a table with multiple records can be plotted as multiple lines as for an example the below data:
38;37;36;36;36;35;35;35;34;33;33;19;16;17;16
18;19;15;13;13;12;13;12;12;11;11;10;9;9;8
read_tab -i test.tab | plot_lines -l V0 -x
Lines
40 ++------------------------------------------------------------------++
***** V0 ****** |
| ******************** V0 ###### |
35 ++ ******************* ++
| ****** |
30 ++ * ++
| * |
| * |
25 ++ * ++
| * |
| * |
20 ++ ##### **** ++
### ## * *******|
| *** *
15 ++ ##### ++
| ############################# |
10 ++ ############### ++
| ###########
| |
5 ++--------+---------+---------+--------+---------+---------+--------++
0 2 4 6 8 10 12 14
Martin Asser Hansen - Copyright (C) - All rights reserved.
January 2010
GNU General Public License version 2
http://www.gnu.org/copyleft/gpl.html
plot_lines is part of the Biopieces framework.