
Я создал следующий Tikzpicutre:
\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}
Я создал три узла вдоль вертикальной линии между верхним (аннотированным i^dw) и нижним (аннотированным i^m). Я хотел бы изменить два элемента рисунка:
- Вместо того, чтобы выравнивать текст для этих узлов по правому краю, я бы хотел выровнять его по северо-востоку (вверху справа).
- Должна быть горизонтальная линия, пересекающая линию между верхним и нижним узлами в каждом из трех узлов. Стрелки к среднему узлу (Funds) должны указывать на вертикальную линию вместо текста.
Может ли кто-нибудь подсказать, как реализовать эти два изменения?
решение1
Я не уверен, что правильно понял все ваши описания. Я думаю, вы хотите, чтобы текст узла, прикрепленный к вертикальной линии, был выровнен по верхнему правому краю. Это можно сделать с помощью anchor=south west
. Но тогда вы хотите использовать позиционирование на линии, чтобы прикрепить стрелки и вертикальную линию, поэтому я думаю, что проще использовать как можно меньший узел и использовать label
ti для размещения текста за его пределами. Затем я заканчиваю чем-то вроде этого.
\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}