Inkscape for Engineers

  |   Source

How to draw a diagram

Fix palette

When you start using a generic tool, the main problem you usually face is that there is just too much choice. It is extremely easy to get lost in thousands of questions like: which color I should choose for the background, #f0f1f3f or #f0f3f1?

So the first thing you should do is to limit the choice to a safe minimum.

Palette is a small set of basic elements. It saves your time, as you don't need to carefully choose and design each new element. And it saves your readers as, let's face it, the more you design the crazier it looks.

In the ideal world palette is given to you by your company or project. It is based on project brand colors and style and so on.

In reality there is no such thing, and when there is, it is typically unusable, so you better create your own.

The minimalist palette is a simple SVG-file with a text object, a box and an arrow. You copy-paste required amount of elements to your document and that's it.

Note though, that palette is not a clipart-like library of objects, it is more like CSS - collection of object styles and properties. The text object in a palette is in fact an easy-to-use container to hold font type and font size values. Thus I prefer thinking of a palette by properties it holds rather than objects it contains.

My starting set usually includes:

  • colors: background, foreground, box background and accent;
  • fonts: one type, one or two sizes;
  • shapes: ellipse, rectangle and arrow.

You don't have to start with the same list and you can extend the list when required. But keep an eye on it and don't introduce new shapes, colors and font styles unless there is a clear reason to do so.

Place all labels first

While this might look strange (every diagram starts with the box, doesn't it?) in fact labels are the most important part of the diagram. They define its content and layout. And as a pure text content, they are easy to create and modify (remember, we have one fixed font and one size, so there is no need to choose or design anything yet).

Labels make the best candidate for initial brainstorming/sketching: simply put all of them on the canvas as for a mindmap, and then add, remove, align and rearrange until structure appears.

Then apply Object -> Align and Distribute to make the structure visible.

Create shapes

As labels are already set and arranged, shapes now do not serve as building blocks of a diagram. Instead consider shapes as markers which highlight objects and their features on top of already existing structure.

  • use Object -> Lower to put shape under label;
  • use Object -> Align and Distribute to center shape relative to its label;
  • use Palette and Color Picker tool to add colors.

Add arrows

Postpone arrows to the very last moment.

This rule originally comes from the limitations of Inkscape. As a generic drawing tool it has no extended support for diagrams, which means there is no good way to move an object together with its connections (arrows).

If you add arrows and then realize you need to change part of the diagram, it is often easier to remove them altogether and re-add later, than change them one by one.

While some consider this as a showstoper, I would say this is a part of the process. I have never seen autogenerated connections which do not require manual adjustments anyway. And added too early, they become an obstacle even when automatically redrawn.

So to get clean and nice-looking diagram leave adding arrows for a finishing touch.

What to draw on a diagram

There are two main characteristics of any object on a diagram: shape and color. Use them to classify objects according to categories.

Map characteristic to a category type and keep that meaning

For example, use shapes to show locations and colors to show owners. But don't use blue for Earth and triangle for Mars.

Don't show unique or obvious properties

Take a look at the following diagram:

/images/a-b-1.png

Here we differentiate two objects by both shape and color, which adds a lot of weight to the picture. Does it add any content?

In fact we can safely remove all unnecessary elements and we still get exactly the same data:

/images/a-b-2.png

Smaller number of elements means easier to read diagram and less time spent on drawing.

Show hidden similarities

Let's consider three objects, two of them share the same feature. For example, let it be three users: two with Fedora, and one with a noname OS:

/images/a-b-c-1.png

In this example color does carry a meaning and we can not remove it without losing the data. But we keep our shape tool in reserve. We can use it to add one more dimension to the picture, for example to show the type of the hardware:

/images/a-b-c-2.png