I am creating a diagram of dependencies for a system we are using, showing what can have an influence on what. That is working fine but I have a lot of intersections (and probably more to come) which can make it quite complicated read and follow the lines.

enter image description here

I'm now trying to draw bridges for those intersections, similar to Intersection of 2 lines not really connected in TikZ , but automated as it would otherwise take too much time.

\documentclass[a4paper]{scrartcl} [10pt,letterpaper]
\usetikzlibrary{calc,shapes.geometric, arrows,positioning}
\tikzstyle{ele} = [rectangle, rounded corners, minimum width=2.427cm, minimum height=1.5cm, align=center, draw=black, fill=yellow!50]
\begin{tikzpicture}[node distance=3.927cm]
    \node (Person) [ele] {Person};
    \node (Club) [ele, right =of Person] {Club};
    \node (Member) [ele, below = of Person] {Member};
    \node (Bal) [ele, right = of Club] {Balance};
    \node (MP) [ele, below = of Bal] {Membership \\ Package};
    \node (Group) [ele, below = of Club] {Group};
    \node (Level) [ele, below = of MP] {Level};
    \node (Rec) [ele, below = of Group] {Recognition};
    \node (Pref) [ele, below = of Member] {Preference};
    \path (Person) edge [->,thick] (Member);
    \path (Member) edge [->,thick] (Group);
    \path (Pref) edge [->,thick] (Group);
    \path (Group) edge [<->,thick] (Rec);
    \path (Club) edge [->,thick] (Level);
    \path (MP) edge [->,thick] (Level);
    \path (Group) edge [<->,thick] (Level);
    \path (Club) edge [->,thick] (MP);
    \path (Group) edge [->,thick] (MP);
    \path (Group) edge [<->,thick] (Bal);
    \path (Club) edge [->,thick] (Bal);
    \path (Bal) edge [->,thick] (Rec);
    \path (Club) edge [->,thick] (Member);
    \path (MP) edge [->,thick,bend left=45] (Member);
    \path (Club) edge [->,thick] (Group);
    \path (MP) edge [->,thick] (Bal);
    \path (Club) edge [->,thick,bend right=45] (Rec);
    \path (Level) edge [->,thick] (Rec);
    \path (Member) edge [->,thick,bend right=20] (Rec);
    \path (MP) edge [->,thick] (Person);

I'm also open to a radically other display of those dependencies if somebody has a better idea.

  • I personally would only rub the lines out with [draw=white,double=black,double distance=\pgflinewidth] since otherwise the plot will be super busy. – user121799 Feb 7 '18 at 14:51
  • the current figure is not so good! my suggestion: rearrange nodes' position and use color for line connecting them. – Black Mild Feb 7 '18 at 14:57
  • what you mean with "automate"? as far as i can imagination, this is not simple even possible task. you should identified each intersection etc ... to ma taste, that you like to achieve will make your diagram less clear :-(. – Zarko Feb 7 '18 at 14:57
  • @BlackMild Tried to rearrange the nods, didn't really help. Everytime I rearranged, the intersections simply moved. Also asked our graphics departement if they have a better idea to visualise this, but with no result. Colours might be the way to go with marmot's proposal. – Shade Feb 7 '18 at 15:30

Your Answer

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

Browse other questions tagged or ask your own question.