Field Notes
A marsh census set as a field journal: bar and line charts on one axis, a donut chart, handwritten labels.
How it is made
dataviz.ps's barchart and linechart share one category axis, plotting weekly sightings against a temperature trend. A species-mix donut chart has a hand-drawn legend, and all of the lettering is in the HandScript font.
Details
- Category
- Data visualization
- Tags
- lettering handwriting
- Libraries
- dataviz, handscript
- Added
- 2026-08-07
- Built in
- issue #14
- Page size
- 700 × 600 points
Source
View source the whole program in a scrolling window, or read gallery/field_notes.ps on GitHub. To draw it yourself, from a checkout of the repository:
pscat --page 700x600 gallery/field_notes.ps
The first 40 of 89 lines of the source
%!PS-Adobe-3.0
%%Title: Field Notes — a naturalist's data page (issue #14, dataviz.ps)
%%BoundingBox: 0 0 700 600
%%EndComments
% A marsh census written up like a field journal: a bar+line combo
% (weekly sightings against a temperature trend, sharing one category
% axis — the reason dataviz.ps's linechart deliberately samples at
% the same category centers barchart uses) and a species-mix donut
% with a hand-drawn legend. Ink and captions in the Stage 12
% /HandScript dynamic font; everything data-shaped comes from
% lib/dataviz.ps's default color cycle rather than hand-picked colors,
% so the two libraries stay cleanly separable. Run from the repo root:
%
% pscat --page 700x600 gallery/field_notes.ps
(lib/dataviz.ps) run
(lib/handscript.ps) run
/showctr { /tky exch def /tkx exch def /tks exch def
tkx tks stringwidth pop 2 div sub tky moveto tks show } def
% --- parchment page ---------------------------------------------------
0.98 0.965 0.93 setrgbcolor clippath fill
0.55 0.47 0.34 setrgbcolor 1 setlinewidth
newpath 18 18 moveto 682 18 lineto 682 582 lineto 18 582 lineto closepath stroke
newpath 24 24 moveto 676 24 lineto 676 576 lineto 24 576 lineto closepath stroke
0.18 0.13 0.07 setrgbcolor
% --- title -------------------------------------------------------------
/HandScript findfont 44 scalefont setfont
50 528 moveto (field notes) show
/HandScript findfont 16 scalefont setfont
52 496 moveto (marsh census -- eight weeks) show
0.55 0.47 0.34 setrgbcolor 0.8 setlinewidth
newpath 50 484 moveto 650 484 lineto stroke
% --- left panel: sightings (bars) + temperature/5 (line) ------------------
/Sightings [4 7 5 9 12 8 14 10] def