Desenhe linhas verticais como nós ao longo de uma linha

Desenhe linhas verticais como nós ao longo de uma linha

Eu criei o seguinte Tikzpicutre:

insira a descrição da imagem aqui

\begin{tikzpicture}
    \node (Borrow) at (-3, 9) {$b < 0$};
    \node (Lend) at (3, 9) {$b > 0$};
    \node (Top) at (0, 11) {$i^{dw}$};
    \node (Bottom) at (0, 7) {$i^m$};
    \draw[|-|] (Top) -- (Bottom) node[pos =0.6, right] (Funds) {$i^{ff}, \Lambda$}
    node[pos =0.2, right] (AverageBorrowing) {$\chi^{-}$}
    node[pos =0.8, right] (AverageLending) {$\chi^{+}$};
    \draw[->] (Borrow) -- (Top) node[pos = 0.66, above] (DW)  {$1-\varphi^{-}$};
    \draw[->] (Borrow) -- (Funds) node[pos = 0.66, above] (BFunds)  {$\varphi^{-}$};
    \draw[->] (Lend) -- (Bottom) node[pos = 0.3, below] (Overnight)  {$1-\varphi^{+}$};
     \draw[->] (Lend) -- (Funds) node[pos = 0.3, above] (LFunds)  {$\varphi^{+}$};
\end{tikzpicture}

Criei três nós ao longo da linha vertical entre o topo (anotado i^dw) e o fundo (anotado i^m). Gostaria de alterar dois elementos da imagem:

  • Em vez de alinhar o texto desses nós à direita, gostaria de alinhá-lo ao nordeste (canto superior direito).
  • Deve haver uma linha horizontal cruzando a linha entre os nós Superior e Inferior em cada um dos três nós. As setas para o nó do meio (Fundos) devem apontar para a linha vertical em vez do texto.

Alguém pode sugerir uma maneira de implementar essas duas mudanças?

Responder1

Não tenho certeza se entendi todas as suas descrições corretamente. Acho que você deseja que o texto do nó anexado à linha vertical seja alinhado no canto superior direito. Isso pode ser feito usando anchor=south west. Mas então você quer usar o posicionamento na linha para anexar as setas e uma linha vertical, então acho mais fácil usar o nó menor possível e usar labelti para definir o texto fora dele. Então termino com algo assim.

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
    \node (Borrow) at (-3, 9) {$b < 0$};
    \node (Lend) at (3, 9) {$b > 0$};
    \node (Top) at (0, 11) {$i^{dw}$};
    \node (Bottom) at (0, 7) {$i^m$};
    \draw[|-|] (Top) -- (Bottom) node[pos =0.6,label=45:{$i^{ff},\Lambda$},inner sep=0pt] (Funds) {}
    node[pos =0.2,inner sep=0pt,label=45:{$\chi^{-}$}] (AverageBorrowing) {}
    node[pos =0.8,inner sep=0pt,label=45:{$\chi^{+}$}] (AverageLending) {};
    \draw[->] (Borrow) -- (Top) node[pos = 0.66, above] (DW)  {$1-\varphi^{-}$};
    \draw[->] (Borrow) -- (Funds.center) node[pos = 0.66, above] (BFunds)  {$\varphi^{-}$};
    \draw[->] (Lend) -- (Bottom) node[pos = 0.3, below] (Overnight)  {$1-\varphi^{+}$};
    \draw[->] (Lend) -- (Funds.center) node[pos = 0.3, above] (LFunds)  {$\varphi^{+}$};
    %%
    \draw[dashed, red] ([xshift=-1cm]AverageBorrowing.center) -- +(2cm,0cm);
    \draw[dashed, red] ([xshift=-1cm]Funds.center) -- +(2cm,0cm);
    \draw[dashed, red] ([xshift=-1cm]AverageLending.center) -- +(2cm,0cm);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

informação relacionada