I'd like to draw some bow-tie diagrams, which are diagrams for modelling risk, particularly for businesses like oil and gas and transport.

In the centre, there is a "top event", and there are zero or more "threats" and "consequences" on the left and right hand sides respectively. The threats and consequences can have zero or more "controls", which stop threats causing the top event, or mitigate the consequences if a top event occurs. The controls can have zero or more "escalation factors", which are child nodes that prevent the control from being effective.

It's a pretty basic qualitative model and rather like a tree. There is proprietory software to draw these models but the images are hideous.

I'm quite new to Tikz but the Tikz manual is a thing of wonder. What is the best way to draw one using Tikz? Should I use a mind map?

  • 5
    Can you post a picture of what you would like to have? Did you try something already? Perhaps you could post a MWE too? – Count Zero Apr 18 '13 at 21:24
  • @johntait.org kindly absorb your comments and images inside question for clarity with EDIT:.In this way question gets pushed back into TeX.SX front page roll – texenthusiast Apr 19 '13 at 5:35
  • Also kindly place a good quality screenshot of image example inside the question so it becomes standalone irrespective of broken urls over time to benefit future users/viewers. may be MWE to get good attention. – texenthusiast Apr 19 '13 at 5:51

There are many options for tree-like diagrams with LaTeX as dirtree, qtree, pst-tree and tikz packages, with or without library trees and others (shape, etc.).

An example with TikZ:



\begin{tikzpicture}[level distance=5em,sibling distance=4em,every node/.style={fill=green!50,rectangle,rounded corners, inner sep=1em}
child[grow=right] {node[fill=cyan!50]{1}
child {node{c}} child {node{b}} child {node{a}}
} % con linea en blanco nuevo child empieza aqui
child[grow=down] { node[fill=cyan!50]{2}
child {node{f}} child {node{e}} child {node{d}}
child[grow=left] { node[fill=cyan!50]{3}
child {node[fill=yellow,circle]{End}} child {node{h}} child {node{g}}
}; %ojo con el punto y coma final




|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for?Browse other questions tagged or ask your own question.