I'm trying to produce a plot with two lines using data taken from stdin. I have a file "test.csv":
0,1.1,2
1,2,3
2,6,4
4,4.6,5
5,5,6
I've been trying to plot this with commands like,
$ cat test | gnuplot -p -e "set datafile separator \",\"; plot '-' using 1:2 with lines, '' using 1:3 with lines;"
But no matter what I try I get,
line 5: warning: Skipping data file with no valid points
I assume this is because for the second line, stdin has already been exhausted. Is there a way to get gnuplot to take data from each column of stdin for different plots?
Thanks.
Best Answer
The "-" is used to specify that the data follows the plot command. So if you use it, you'll need to do something like:
(Quoting above probably needs to be escaped).
What're you looking for is this:
Now, you can do:
Note that you might need to feed in the input data via stdin multiple times if you're using options with plot, like so:
In the above case, testfile must end with a line that has the sole character 'e' in it.
Manual reference