Dibujar una flecha en un diagrama SIRS usando TikZ

Dibujar una flecha en un diagrama SIRS usando TikZ

Estoy intentando crear un diagrama SIRS (Susceptible-Infeccioso-Recuperado-Susceptible) que se vea así: ingrese la descripción de la imagen aquí

Ya casi estoy allí; Tengo todos menos la flecha superior que va de Recuperado a Susceptible. Aquí está mi código actual:

\documentclass[tikz, border=10pt]{standalone}
\usetikzlibrary{positioning, arrows.meta}

\begin{document}

\begin{tikzpicture}[
    node distance=2.5cm,
    arrow/.style={->, >=Stealth, thick},
    box/.style={draw, rectangle, rounded corners, minimum width=2cm, minimum height=1cm, align=center}
]

% Nodes
\node[box] (S) {Susceptible};
\node[box, right=of S] (I) {Infectious};
\node[box, right=of I] (R) {Recovered};

% Arrows
\draw[arrow] (S) -- node[above]{$\beta$} (I);
\draw[arrow] (I) -- node[above]{$\gamma$} (R);

\end{tikzpicture}

\end{document}

Y esto es lo que produce mi código: ingrese la descripción de la imagen aquí

Tengo problemas para dibujar la flecha de Recuperado a Susceptible. ¿Cómo dibujo una flecha para que pase por encima de los cuadros sin superponerlos? Cualquier ayuda sería muy apreciada.

Respuesta1

Aquí estaba mi ingenuo intento original:

\node (A) [above=0.5cm of I] {$\delta$};
\draw[arrow] (R.north) |- (A.south) -| (S.north); 

El usuario Sandy G ofrece una mejor opción: utilizar una técnica que fue sorprendentemente difícil de investigar (resulta que buscar en Google --++es difícil); Encontré esta publicación ANTIGUA (11 años) que habla de ello:TiKz guión guión más más lo que me llevó a la sección del manual de TikZ.13.4 Coordenadas relativas e incrementales

Podemos especificar una coordenada relativa usando ++antes de una nueva coordenada de ruta para hacerla relativa a la coordenada anterior en la ruta. Del manual:

Puede anteponer las coordenadas con ++ para hacerlas “relativas”. Una coordenada como ++(1cm,0pt) significa "1 cm a la derecha de la posición anterior, lo que la convierte en la nueva posición actual". Las coordenadas relativas suelen ser útiles en contextos "locales":

Esto lo hace tan fácil como:

\draw[arrow] (R.north) -- ++(0,0.5) -| (S.north) node[above, pos=0.25] {$\delta$};

Esto dibujará un nodo desde el norte del nodo R, 0,5 hacia arriba, luego se conectará al norte de S, pero hará un giro brusco para llegar allí (especificado por -|). Se coloca un nodo 0,25 por encima del camino (que resulta ser simétrico) y se rellena con $\delta$.

MWE

Ambas respuestas darán aproximadamente la misma imagen, pero pensé que te gustaría ver múltiples perspectivas.

MWE:

\documentclass[tikz, border=10pt]{standalone}
\usetikzlibrary{positioning, arrows.meta}

\begin{document}

\begin{tikzpicture}[
    node distance=2.5cm,
    arrow/.style={->, >=Stealth, thick},
    box/.style={draw, rectangle, rounded corners, minimum width=2cm, minimum height=1cm, align=center}
    ]

    % Nodes
    \node[box] (S) {Susceptible};
    \node[box, right=of S] (I) {Infectious};
    \node[box, right=of I] (R) {Recovered};

    % Arrows
    \draw[arrow] (S) -- node[above]{$\beta$} (I);
    \draw[arrow] (I) -- node[above]{$\gamma$} (R);

    % My Naive Attempt
    % \node (A) [above=0.5cm of I] {$\delta$};
    % \draw[arrow] (R.north) |- (A.south) -| (S.north);

    % Sandy G's code
    \draw[arrow] (R.north) -- ++(0,.5) -| (S.north) node[above, pos=0.25] {$\delta$};
        
\end{tikzpicture}

\end{document}

información relacionada