Gnuplot использует нечетное количество строк и четное число в одном графике из одного файла - PullRequest
0 голосов
/ 11 марта 2020

У меня есть файл со следующими значениями (fio смешанный результат чтения и записи):

1191, 3987, 0, 0, 0
1191, 11781, 1, 0, 0
2193, 4006, 0, 0, 0
2193, 12431, 1, 0, 0
3195, 3698, 0, 0, 0
3195, 11680, 1, 0, 0
4196, 3897, 0, 0, 0
4196, 11407, 1, 0, 0
5198, 3845, 0, 0, 0

Я хочу нарисовать линии, соединенные вместе четными линиями отдельно, и нечетными нумерацией отдельно.

Я хотел бы использовать что-то вроде этого, но это не работает:

plot "<(sed -n 'p;n' 8k-mix_iops.4.log)" using $1/1000):2 title "25-75 write" with lines, "<(sed -n 'n;p' 8k-mix_iops.4.log" using ($1/1000):2 title "25-75 read" with lines

Или я мог бы как-то использовать каждую команду, но как я могу определить каждую вторую строку, но начать с 1-я строка или начало со 2-й строки?

plot "8k-mix_iops.4.log" every 2 using ($1/1000):($2) title "25-75 write" with lines, "8k-mix_iops.4.log" every 1 using ($1/1000):($2) title "25-75 read" with lines

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Не вижу смысла использовать sed. В консоли gnuplot введите help every, чтобы понять, что делает every.

Код:

### plot odd and even rows
reset session
set datafile separator comma

$Data <<EOD
1191, 3987, 0, 0, 0
1191, 11781, 1, 0, 0
2193, 4006, 0, 0, 0
2193, 12431, 1, 0, 0
3195, 3698, 0, 0, 0
3195, 11680, 1, 0, 0
4196, 3897, 0, 0, 0
4196, 11407, 1, 0, 0
5198, 3845, 0, 0, 0
EOD

plot $Data u ($1/1000):($2) every 2 w l title "25-75 write", \
     '' u ($1/1000):($2) every 2::1 w l title "25-75 read"
### end of code

Результат:

enter image description here

0 голосов
/ 11 марта 2020

Каждую " ( нужно закрыть в нужном порядке.

plot "<(sed -n 'p;n' file)" using ($1/1000):($2) title "25-75 write" with lines, "<(sed -n 'n;p' file)" using ($1/1000):($2) title "25-75 read" with lines;

Доктор aws для меня:

enter image description here

...