![具有可变选择的博弈树](https://linux22.com/image/298528/%E5%85%B7%E6%9C%89%E5%8F%AF%E5%8F%98%E9%80%89%E6%8B%A9%E7%9A%84%E5%8D%9A%E5%BC%88%E6%A0%91.png)
大家好,我正在使用 tikz 制作一个简单的游戏树,我快完成了,但我需要一些收尾工作才能让它完美。这是目前的代码
\hspace{.1in}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node(11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_2 \)}
child{node{\( \begin{pmatrix}
\Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_3 \)}
child{node{\( \begin{pmatrix}
\Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}
};
\draw[dashed](11-1)to(11-3);
\draw[dashed](12-1)to(12-3);
\end{tikzpicture}
我想要做的是移动 q_1 节点,使它们不在虚线上。此外,我还想从分支的中间开始,在 0 和无穷大之间形成一个向下的拱形。(所以不是从节点开始,而是从节点中间开始)这是为了表示 q 值可以是 0 和无穷大之间的任何值。我希望我的问题有意义,否则请随时提问 :-)
期待您的答复
欢呼 Steffen
答案1
这是您的可能解决方案之一吗?相反,解决方案将虚线稍微向上移动,以便 q_1 不在虚线上,这表明了您想要的。
代码
\documentclass[border=10pt]{standalone}%{article}
\usepackage{tikz}
\usetikzlibrary{arrows,trees,positioning,calc}
\begin{document}
\hspace{.1in}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node[](11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_2 \)}
child{node{\(\begin{pmatrix}
\Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\( q_1 \)}
child{node{\( 0 \)}}
child{node{\( q_3 \)}
child{node{\( \begin{pmatrix}
\Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}
\end{pmatrix} \)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}
};
\draw[dashed]([yshift=4ex]$(11-1)!0.55!(21)$) to[bend right] ([yshift=4ex]$(21)!0.5!(11-3)$);
\draw[dashed]([yshift=4ex]$(12-1)!0.55!(22)$) to[bend right]([yshift=4ex]$(22)!0.5!(12-3)$);
\end{tikzpicture}
\end{document}
答案2
另一个使用示例游戏软件包(2.0 版):
\documentclass{standalone}
\usepackage{istgame}
\begin{document}
\begin{istgame}[semithick]
\tikzset{oval node/.style={box node,draw=none,minimum size=5mm}}
\cntmdistance*{20mm}{25mm}
\istrooto(0)[plain node]{Firm 1}+15mm..50mm+
\istb \istb \endist
\setistmathTF111
\cntmApreset[dashed,thick]{.6}
\istrootocntmA(E2)(0-1){E_2} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrootocntmA(E3)(0-2){E_3} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrootocntmA(11)(E2-1){q_1} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrootocntmA(21)(E3-1){q_1} \istb[thin] \endist
\xtNode*(cntm-1){0} \xtNode*(cntm-2){\infty}
\istrooto(3a)(11-1){q_2} \istb[thin] \endist
\xtNode*(3a-1){\big(\prod\big)_1^{c_2}\prod_2^c\prod_3^m}
\istrooto(3b)(21-1){q_3} \istb[thin] \endist
\xtNode*(3b-1){\big(\prod\big)_1^{c_3}\prod_2^m\prod_3^c}
\end{istgame}
\end{document}
答案3
这个解决方案不是很美观(你应该使用 Jesse 的方案),因为它增加了虚线下方的空间,但是它很容易做到。
% arara: pdflatex
\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz}
\begin{document}
\tikzstyle{level 1}=[level distance=1.5cm, sibling distance=3.5cm]
\tikzstyle{level 2}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 3}=[level distance=1.5cm, sibling distance=1cm]
\tikzstyle{level 4}=[level distance=1.5cm, sibling distance=2cm]
\begin{tikzpicture}
\node(0){Firm 1}
child{node(11){\( E_2 \)}
child{node{\( 0 \)}}
child{node(21){\raisebox{15pt}{$q_1$}}
child{node{\( 0 \)}}
child{node{\( q_2 \)}
child{node{\(\begin{pmatrix}\Pi^{c_{2}}_{1} \\ \Pi^{c}_{2}\\ \Pi^{m}_{3}\end{pmatrix}\)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}}
child{node(12){\( E_3 \)}
child{node{\( 0 \)}}
child{node(22){\raisebox{15pt}{$q_1$}}
child{node{\( 0 \)}}
child{node{\( q_3 \)}
child{node{\(\begin{pmatrix}\Pi^{c_{3}}_{1} \\ \Pi^{m}_{2}\\ \Pi^{c}_{3}\end{pmatrix}\)}}}
child{node{\( \infty \)}}}
child{node{\( \infty \)}}
};
\draw[dashed](11-1)to(11-3);
\draw[dashed](12-1)to(12-3);
\end{tikzpicture}
\end{document}