GUFF(1)
π GUFF(1) β the plot device that ate π
okay bestie, so you know GUFF? it's a whole manual page, and the manual name is guff, and honestly it's giving "tiny tool, huge main character energy". it's literally described as a plot device and i'm obsessed π
β¨ NAME β¨
guff β a plot device π¦
πΈ SYNOPSIS πΈ
guff [-A] [-c] [-d WxH] [-f] [-h] [-l xyc] [-m MODE] [-r] [-s] [-S] [-x]
[FILE]
π DESCRIPTION π
so here's the tea: guff reads a stream of points from a file or from stdin and plots them. that's it. that's the whole vibe. it reads points, it plots them, slay β¨
π OPTIONS π
π Common options:
-d WxHβ sets the dimensions, aka width and height. it should be formatted like"-d WxH", e.g."-d 72x40"or"-d 640x480". literally just width, anx, height, periodt π-fβ flips the X and Y axes in the plot. chaotic? maybe. iconic? absolutely π₯-hβ prints a help message. bestie needs help sometimes π«Ά-l xycβ sets X, Y, and/or Count to log-scale. that's log-scale for any of those three, your call β¨-m MODEβ sets the mode todot(that's the default),line(SVG only, no cap), orcount(which tracks how densely clustered the points are). three modes, three vibes π-xβ treats the first column as the X value for the other columns. otherwise, the row number is used for the X value. iykyk π
π¦ SVG-only options:
-cβ uses colorblind-safe default colors. inclusive king behavior fr fr π-rβ draws a linear regression line for each column. math girlies rise πΈ
π Rare options:
-Aβ don't draw axes. minimalism, but make it plot π-Sβ disables stream mode, meaning it exits at the first blank line. bye-bye at the first empty line π
β EXIT STATUS β
returns 0. that's it. clean exit, no drama π
π₯ EXAMPLES π₯
read a series of number rows on stdin, and plot to ASCII once end-of-stream or a blank line is reached:
$ guff
same, but generate SVG:
$ guff -s
read number rows from a file:
$ guff file
plot stdin with a log-scale on the Y axis:
$ guff -ly
treat the first value on each line as the X value for all columns:
$ guff -x
plot stdin to SVG, with lines connecting the points:
$ guff -s -m line
same, but using a colorblind-safe palette:
$ guff -s -c -m line
plot stdin to SVG, and draw a linear regression line for each column:
$ guff -s -r
plot stdin with point counts, to show point density:
$ guff -m count
same, with a log scale for the point counts:
$ guff -m count -lc
same, with SVG output:
$ guff -s -m count -lc
π BUGS π
there isn't a way to change the plot options when a blank line resets the data. annoying? yes. real? also yes π
and rather than attempt to intelligently handle strange input, guff just skips the rest of the line when strtod(3) indicates there isn't a well-formatted number. it's not being mean, it's just not doing the work for you π
π COPYRIGHT π
guff is Copyright (C) 2015 Scott Vokes vokes.s@gmail.com. respect the original icon π
π SEE ALSO π
awk(1)β go check out awk, bestie, it's a whole vibe too π
okay that's the whole page, and yes i'm still obsessed β this little beauty is from July 2015, and it's GUFF(1) all the way down. mwah π π
π¦ where this page comes from
- nixos 26.05: guff 0.1.0
- nixpkgs unstable: guff 0.1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms