пятница, 20 ноября 2009 г.

Покорение GnuPlot

Возникла задача изобразить график с информацией о работе транспортного протокола. Вначале я хотел воспользоваться привычным AdvanceGrapher'ом, но у него обнаружилось ограничение на размер исходных данных. Поэтому пришлось искать альтернативу.

Потратив некоторое время на поиски и изучение, я пришёл к следующему скрипту для GnuPlot который делает почти то, что мне нужно:

set sample 1000

set output "output.svg"
set terminal svg size 800,600 font "Helvetica, 10"

set xtics axis 5 scale 0.5
set ytics axis 10 scale 0.5
set mxtics 2
set mytics 2

set key below nobox vertical
set border 3

plot \
"bw.txt" using ($1):($2 / 1024) \
title 'bandwidth (KB)' \
with lines \
lc rgbcolor 'dark-green', \
"mw.txt" using ($1):($2 / 1024) \
title 'max_window (KB)' \
with lines \
lc rgbcolor 'dark-blue', \
"rto.txt" using ($1):($2 * 10) \
title 'rtt_timout (0.1s)' \
with lines \
lc rgbcolor 'red', \
"tout.txt" using ($1):(110) \
title 'timeouts' \
with impulses \
lc rgbcolor 'light-gray'


Комментариев нет: