Feedgnuplot is nog niet in veel repository's opgenomen, dus je moet het nog zelf installeren. Hiervoor installeer je eerst de de dependency's libtest-script-run-perl en gnuplot. Download daarna de broncode van feedgnuplot en volg de instructies in het tekstbestand INSTALL. In Debian-gebaseerde distributies kun je met enkele commando's een .deb-pakket aanmaken en installeren, terwijl je in andere Linux-distributies het klassieke make/make install gebruikt.

Integreer gnuplot in je toolbox

Feedgnuplot maakt gnuplot vooral handiger te gebruiken in combinatie met andere tools in de toolbox van de Linux-systeembeheerder. Je bent immers gewend om allerlei in- en uitvoer te combineren door commando's met pipes aan elkaar te hangen. Een eenvoudig, kunstmatig voorbeeld maakt dit duidelijk:

$ seq 5 | awk '{print 2*$1, $1*$1}' | feedgnuplot

Met de commando's seq en awk creëer je hier een reeks van vijf paren getallen, die telkens door een spatie van elkaar gescheiden zijn. Dat is het formaat dat feedgnuplot verwacht. Dit geef je dan via de pipe door aan stdin van feedgnuplot, waarna dit programma gnuplot aanroept en de plot op je scherm toont. Standaard hoef je geen enkele andere parameters aan feedgnuplot door te geven.

Parameters

Voor de volledige lijst van parameters die gnuplot ondersteunt, moet je de man-pagina maar eens bekijken, maar enkele zijn wel nuttig om te weten. De labels van de X- en Y-as stel je in met respectievelijk --xlabel en --ylabel. Het bereik van de waarden op de X- en Y-as stel je dan weer in met --xmin en --xmax respectievelijk --ymin en --ymax. Geef je dit niet in, dan maakt feedgnuplot zelf een keuze. Tot slot geef je met --title je plot een titel.

Je kunt ook willekeurige gnuplot-commando's aan feedgnuplot doorgeven met de optie --extracmds. Wil je bijvoorbeeld het rooster op de grafiek niet zien, dan kan dat met de optie --extracmds 'unset grid'. De optie --dump toont overigens het gnuplot-script dat feedgnuplot op basis van je invoer en opties maakt, zodat je dit kunt debuggen of opslaan om het later rechtstreeks met gnuplot te gebruiken. En als je de uitvoer niet in een gnuplot-venster wil zien maar in de vorm van een opgeslagen afbeelding, gebruik dan de optie --hardcopy bestandsnaam, waarbij je de extensie .ps, .eps, .pdf, .svg of .png moet gebruiken.

Realtime gegevens

Feedgnuplot is ook heel handig om snel realtime grafiekjes tevoorschijn te toveren. Gebruik hiervoor de optie --stream, waarna feedgnuplot gegevens uit stdin plot wanneer ze ontvangen worden. Zo plot je bijvoorbeeld het aantal ontvangen bytes per seconde op de netwerkinterface eth0:

$ while true; do sleep 1; cat /proc/net/dev; done |

gawk '/eth0/ {if(b) {print $2-b; fflush()} b=$2}' |

feedgnuplot --lines --stream --xlen 10 --ylabel 'Bytes/sec' --xlabel seconds

Tot slot kun je ook een self-plotting data file maken. Laat een bestand beginnen met #!/usr/bin/feedgnuplot en de opties die je aan feedgnuplot wil doorgeven. De regels erna bevatten de gegevens die je door feedgnuplot wil laten plotten. Door de shebang in het begin van het bestand interpreteert Linux dit nu als een shell-script, waardoor je de gegevens eenvoudig kunt plotten door de bestandsnaam op de commandline in te geven.