After umming and ahhing for a few years, I impulsively[1] ordered a pen plotter.
# why?
It is a perhaps clichéd reason, but I can't draw - at least not in the way that I would like to. And yes, I do recognise it is a skill that can be learned, but I've never felt particularly motivated to learn to draw. I am, however, motivated to learn the coding and software skills[2] required to take the small handful of ideas from my head and get them onto paper. Additionally, I am fond of shapes and swirls and patterns that happen to have a nice mathematical formula underpinning them[3], and this style lends itself to pen plotters. Maps will certainly be plotted.
# (steep) curves
Installing the drivers, and inkscape extensions were easy enough. But...the z-motor[4] was going down when it should go up, and up when down. No good. A few emails later...a different version of the extension installed, and it worked.
vpype
is, apparently, a pretty useful pen plotter utility, but, I could not get it installed on my aged laptop. Brief diversion into backing everything up, ridding the laptop of it's original, no longer supported and unable to update it OS, and installing Ubuntu[5][6]. And then tah-dah vpype
was installed. But...the inkscape extension would not communicate with the plotter. Ugh. Solved one problem, made another. A few more emails and a zoom call with the supplier later...and the problem hasn't been resolved, but I can control the plotter using the command line. Progress.
I picked up a few pens, and some paper.
# outputs
So far I have plotted some squiggles, a map and a ridgeline plot. Nothing groundbreaking, and certainly nothing too original (Fig 0)
Briefly experimented with some of the vpype
extensions: like flow_img
(which has a nice to cmyk feature). Poor image choice, and a reason that I can't remember led me to abort that plot.

Plotted some contours (of my favourite place in the world) using a pilot parallel pen, and the result is like, but definitely also not, tanaka contours[7], because the thicker lines aren't just on one side.
# things to try
- cmyk plots. either from an image or something abstract
- text
- plotting onto transparencies, so that i can then cyanotype them.
# notes to myself
- matplotlib
.svg
exports can be used. But they include a few extra paths (even if they don't show), such as the axes and figure patch borders. In inkscape these can be safely deleted. - setting pen height feels harder than it perhaps should, but the little magnets to hold the pen in place are the as tall as the difference between
raised
andlowered
- remember to add
--progress
to the draw command as it gives an estimate of how long it will take - the following commands are useful:
vpype read file.svg linesort write sorted.svg
axicli -m manual -M disable_xy
axicli -m manual -M raise_pen
axicli -m manual -M lower_pen
axicli sorted.svg --progress
axicli sorted.svg -m layers -l2 --progress # for plotting layer 2 only
- if working with geospatial data, (country borders, or building footprints from
osm
), common borders will be drawn twice. Thetopojson
package is useful here.- haven't tested it yet, but i think
vpype
can remedy this as well (mayybelinemerge
, or actually, maybe not.linemerge
looks to just join lines together if their end points are close enough)
- haven't tested it yet, but i think
more soon.
# footnotes
it still feels impulsive. Because indulgent purchases often feel impulsive. ↩︎
inkscape, more (/different) python plotting libraries,
d3js
etc... ↩︎Lissajous curves; spirographs; some fractals (maybe); tilings and so on. ↩︎
the motor that raises and lowers the pen ↩︎
apart from ssh'ing onto the HPC at University, I have never used Linux. ↩︎
this had been on my maybe-to-do list for a while. ↩︎
that Terrain Cartography wikipedia article is good. ↩︎