i would like to create a ishikawa diagram (fishbone) like the following one: enter image description here

I've tried to realize it with Tikz but it seems like a bit difficult.

  ishikawa/.style = {align=center, inner sep=0pt, text centered,
  matter/.style={   % Wirkung=Betrachtete Störgröße
  rectangle,minimum size=6mm,very thick,draw=red!70!black!40,top color=white,bottom color=red!50!black!20,font=\itshape
  level_1/.style={      % Haupteinflussfaktoren
  ellipse,node distance=60pt,minimum size=6mm,very thick,draw=red!50!black!50,top color=white,bottom color=red!50!black!20,font=   \itshape
  level_2/.style={      % Nebeneinflussfaktoren
  rectangle,minimum size=6mm,font=\itshape,font=\tiny
\begin{tikzpicture}[->,>=stealth',level/.style={sibling distance = 5cm/#1,
  level distance = 1.5cm}
    \node (Grund)       [matter]    at ( 12,0)      {CPA};
    %   \path[draw,->] (0,0) -- (Grund)
        \draw [->,very thick] ( 0,0) -- (Grund);
    \node (tl_1_1)      [level_1]   at ( 0,5)       {Material};
    \node (bl_1_1)      [level_1]   at ( 0,-5)      {Methode};
    %   child{ node [level_2] {msndfbdejfsdlfksf}}
    \node (tl_1_2)      [level_1, right=of tl_1_1]  {Maschine};
    %   child{ node [level_2] {msndfbdejfsdlfksf}}
    \node (bl_1_2)      [level_1, right=of bl_1_1]  {Mensch};
%       child{ node [level_2] {msndfbdejfsdlfksf}}
    \node (tl_1_3)      [level_1, right=of tl_1_2]  {Messtechnik};
    %   child{ node [level_2] {msndfbdejfsdlfksf}}
    \node (bl_1_3)      [level_1, right=of bl_1_2]  {Mitwelt};
%       child{ node [level_2] {msndfbdejfsdlfksf}}

This produces my top level boxes but I don't know how to draw a path from there to my main arrow. The same problem also for the lower level arrows.

Can someone help me out?!

cheers Gerold

  • Do you need all the arrows or just the main ones from the nodes?
    – Alenanno
    Jun 16, 2015 at 12:41
  • Crosspost on the german Q&A site TeXwelt. Jun 16, 2015 at 16:54
  • I was originally posted on LaTeX-community
    – Johannes_B
    Jun 16, 2015 at 17:32
  • Looks like a draw-it-for-me-"question" on 3 or more forums. Before you ask more people to work for you, why don't you 1) give people in one forum give some time, 2) add links to cross-posts before people spend their time for duplicated solutions, and 3) post compilable code instead of a snippet which needs time of everybody to complete?
    – Stefan Kottwitz
    Jun 16, 2015 at 19:48


Browse other questions tagged or ask your own question.