Tikz:如何将文字与绘图(在框图中)很好地结合起来?

Tikz:如何将文字与绘图(在框图中)很好地结合起来?

这是我第一次尝试使用 LaTex 中的 Tikz 包创建图形。(顺便说一下,我使用的是 TexMaker)。因此,我到处找了一些示例代码,并稍加修改,以得到我想要的图形,但图形中的文字并没有按我的意图对齐。
以下是我希望进行的更正:

  1. 文字写在循环箭头上方 -> 我希望文字从循环箭头上清除。
  2. 我希望符号下方有文字。因此,字样“抵抗感染”出现在符号 zeta 下方。“未治愈”也一样
  3. 与直箭头相关的文字也一样。我更希望符号位于箭头上方,但文字可能位于箭头下方。(或者甚至位于符号下方和箭头上方)

在此处输入图片描述

这是我的代码:

\documentclass[11pt]{article}

\usepackage[margin=0.5in]{geometry}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{arrows}

\title{Discrete Time SIR Model - Stochastic analysis}
\author{Louis Kim}

\begin{document}
\maketitle

\tikzstyle{int}=[circle, draw, fill=blue!20, minimum size=3em, auto]
\tikzstyle{init} = [pin edge={loop,thin,black}]

\begin{tikzpicture}[node distance=5cm,auto,>=latex']
    \node [int, pin={[init] $\zeta_{i,t}$,resisted infection}] (a) {$S$};
    \node [int, pin={[init] $1-\delta$,not cured}] (c) [right of=a] {$I$};
    \node [int] (e) [right of=c] {$R$};
    \path[->] (a) edge node {$1-\zeta_{i,t}$, not resisted infection} (c);
    \draw[->] (c) edge node {$\delta$, cured} (e) ;
\end{tikzpicture}
\end{document}

任何帮助都将不胜感激!谢谢,

答案1

  1. 您选择的解决方案pin很有趣,尽管我不认为它与选项loop(还有loop above)完美配合,因为pin distance放置引脚节点和循环本身是独立的。

    1. 您可以手动设置一个pin distance
    2. loop您可以将它作为与ed一起的节点使用edge
  2. 使用align=center允许手动使用换行符的选项(\\)。

  3. 您可以使用相同的方法,但这两条线太靠近线了(我引入了一点空间)。

    我宁愿使用两个节点,其中第二个节点使用选项swap以便它转到另一侧(swap切换选项的方向auto)。

代码

\documentclass[tikz,convert=false]{standalone}
\usepackage{tikz}
\tikzset{
  int/.style={circle, draw, fill=blue!20, minimum size=3em},
  init/.style={pin distance=1.2cm,pin edge={loop,thin,black}}
}
\usetikzlibrary{arrows}

\begin{document}
\begin{tikzpicture}[node distance=5cm,auto,>=latex',every node/.append style={align=center}]
    \node [int, pin={[init] $\zeta_{i,t}$,\\resisted infection}] (a)              {$S$};
    \node [int, pin={[init] $1-\delta$,\\not cured}]             (c) [right of=a] {$I$};
    \node [int] (e) [right of=c] {$R$};
    \path[->, auto=false] (a) edge node {$1-\zeta_{i,t}$\\[.2em] not resisted infection} (c)
                          (c) edge node {$\delta$       \\[.2em] cured} (e) ;
\end{tikzpicture}
\begin{tikzpicture}[node distance=5cm,auto=right,>=latex',every node/.append style={align=center}]
    \node [int] (a)              {$S$} edge [loop] node {$\zeta_{i,t}$,\\resisted infection} ();
    \node [int] (c) [right of=a] {$I$} edge [loop] node {$1-\delta$,\\not cured} ();
    \node [int] (e) [right of=c] {$R$};
    \path[->, auto=left] (a) edge node {$1-\zeta_{i,t}$} node[swap] {not resisted infection} (c)
                         (c) edge node {$\delta$}        node[swap] {cured} (e) ;
\end{tikzpicture}
\end{document}

输出

在此处输入图片描述

在此处输入图片描述

相关内容