During my (mis)adventures of writing
pixiedust, I’ve sometimes found
myself considering ideas that I eventually decided were bad ideas. The
first such idea occurred very early on as I was trying to map out all of
the features I thought were necessary for a complete package. As I
considered the possibility of complex coloring schemes, I thought it
could be useful to generate legends to accompany tables.
Table legends weren’t an idea I pursused for long because I knew it was
probably a little beyond my coding capabilities. As I’ve learned more,
however, I’ve decided that it’s a terrible idea to begin with. Tables,
by their nature, ought to reduce their message to as simplistic a
presentation as possible. I eventually decided that if a table becomes
so complex that it requires a legend, then it probably ought to be a
As I’ve continued with additional development, I’ve tried to think carefully about whether or not the idea I’m approaching ought to ever be used. The use of color is another feature in tables that I think can be dangerously overused. And so, my initial thoughts on some guiding principles for producing effective tables.
- Avoid trying to use tables the way you would a graph.
- If your table requires a legend, it’s too complicated. Use a graph instead.
- Background colors should only be used for row or group discrimination (with very rare exceptions).
- Subtlety is a virtue.
- When using color (backgrounds, fonts, or borders), try to limit yourself to two colors.
I’ve also published these in Get Your Sparkle
my extended guide to the
pixiedust package. (still under development,
and these principles may change as I my ideas mature).