Pikchr

Pikchr is a modern take on the classic PIC language: each object is placed relative to the last one, which makes small technical figures very quick to write.

It has an elegance the other generators lack, and a learning curve to match.


#What it is good at

  • Small technical figures in documentation.

  • Diagrams embedded in source repositories, since the syntax is compact.

  • Figures where relative placement is easier to express than absolute.


#What it draws

Element

Syntax

Object

box "Label"

Relative placement

arrow right; box

Naming

B1: box "First"

Reference

arrow from B1.e to B2.w

Styling

box fill 0xe8f0ff thick


#A worked example

A pipeline placed left to right:

Pikchr

The source, which you can paste into a new diagram and edit:

boxwid = 0.8
box "Source" fit
arrow right 0.4
box "Parse" fit
arrow right 0.4
box "Validate" fit
arrow right 0.4
box "Store" fit
arrow right 0.4
box "Notify" fit

arrow down 0.4 from last box.s
box "Audit log" fit

#A few things that catch people out

  • Each object is placed relative to the previous one, so order in the source is layout.

  • last and named references are how you connect back to earlier objects.

  • For anything large, a layout engine like Graphviz or D2 will save you time.



Thirty-one languages. Nobody knows them all.