Discussion:
How do i pipe data to gnuplot/no-fifo and plot the data on the fly
(too old to reply)
Veek M
2020-02-16 02:18:54 UTC
Permalink
my output is

42.0 27.8 29.8 43.0 42.0 43.0
42.0 27.8 29.8 43.0 42.0 43.0

while true; do
sensors|egrep -o ' \+[0-9]{2}\.[0-9]+°C '|tr -d ' +°C'|tr -s '\n' ' ';
echo; sleep 1;
done|gnuplot -p -e '
set xrange [0:60];
set yrange [20:80];
while (1) {
plot "-" using 1:2, "" using 1:3; pause 1; reread;
}'

just blocks.
while true; do sensors|egrep -o ' \+[0-9]{2}\.[0-9]+°C '|tr -d ' +°C'|tr -
s '\n' ' '; echo; sleep 1; done|gnuplot -p -e 'plot "-" using 1:2, ""
using 1:3'

So I tried
echo 20 40 60|gnuplot -p -e 'set xrange [0:60]; set yrange [20:80]; plot
"-" using 1:2, "" using 1:3'
line 1: warning: Skipping data file with no valid points
why is that?
Gavin Buxton
2020-02-16 13:59:31 UTC
Permalink
Sorry, tbh I'm not following. Usually I dump data to a file and pipe commands to gnuplot to plot the file. That's pretty easy to do, if that would help?
Veek M
2020-02-18 14:42:17 UTC
Permalink
( seq 1 10 )|gnuplot -p -e 'set xrange [0:100]; set yrange [0:100];
while(1) { plot "<&3" using ($0):1 every ::::3:0; pause 10; replot; }' 3</
dev/stdin

Something like this works but only just.. basically you got to manually
pipe the data using some gnuplot specific syntax not to mention the
redirect to fd in bash
plot "<&3"

Loading...