用线条、箭头和文本绘制图形

用线条、箭头和文本绘制图形

我怎样才能绘制像图中这样的图形? 在此处输入图片描述

我对 Latex 还很陌生,我只知道可以用\line或画线,\hrule但我不知道如何绘制这样的图形......

此外,我想在水平线前面(日间市场前面)放置两个箭头,并添加一些文字(用于日间市场之前发生的两个动作)。

答案1

作为起点...

\documentclass[tikz, margin=5pt]{standalone}
\usetikzlibrary{arrows.meta}

\begin{document}
\begin{tikzpicture}[
  TL/.style = {very thick, Bar[width=4mm]},% as Time Line :-)
tbox/.style = {font=\Large\bfseries\sffamily},
bbox/.style = {text width=4cm, align=left, inner sep=2mm}
                    ]
\draw[TL]                (-5,0) -- (5,0);
\draw[TL,densely dashed] (0,2mm) -- (0,-2mm);
%
\node [tbox,above]  at (-2.4,0) {DAY (DM)};
\node [tbox,above]  at ( 2.4,0) {NIGHT (CM)};
%
\node [bbox,below right] at (-5,0) {xx xx xx xxx xxx xxx xxx\\ 
                                    yy yy yyy yyy yyyy\\
                                    zzzzz zz zzzz z z zzz};
\node [bbox,below right] at (0,0) {xx xx xx xxx xxx xxx xxx\\
                                    yy yy yyy yyy yyyy\\
                                    zzzzz zz zzzz z z zzz};
\end{tikzpicture}
\end{document}

编辑:而不是>={Bar[width=4mm]}为矢量定义新样式:Vect/.style = {very thick, Bar[width=4mm]}并相应地更改线的代码。

在此处输入图片描述

答案2

正如 @Christian Hupfer 提到的,Tikz 是一个不错的软件包。尝试查看这个问题是关于使用 tikz 绘制数字线,这听起来与您想要执行的操作类似(当然没有数字)。至于行下方的文本,您可以使用tabletabular环境来实现。希望对您有所帮助。

答案3

我使用以下几行扩充了上面建议的代码:

 \draw [very thick, <->]  (-5.5,0mm) -- (-5.5, -10mm);
 \draw [very thick, <->]  (-6.2,0mm) -- (-6.2, 10mm);
 \node [bbox,below right] at (-5.8,-1) {$\eta$};
 \node [bbox,above right] at (-6.5,1) {$\mu$};
 \end{tikzpicture}
 \end{frame}

输出如下:在此处输入图片描述

如您所见,箭头是条形的(我猜这与以下内容有关:\begin{tikzpicture}[>={Bar[width=4mm]}或者我在箭头的代码中犯了错误?)

因此,最后一步是为前两个元素绘制箭头而不是条形。

附言:关于论坛政策:哪种方式才是回答我的问题中的建议的正确方法(使用新代码和图片)?1. 编辑我的问题?2. 评论答案?或 3. 像我现在一样写一个自己的答案?

答案4

另一个简单的解决方案是使用pstricks+ auto-pst-pdf (用 进行编译pdflatex):

\documentclass[border =3pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern
\usepackage{pst-node, auto-pst-pdf}

    \begin{document}

   \begin{pspicture}
\psset{unit=5, tbarsize =2ex, dotsep=1.5pt, shortput=nab}
\pnodes(0,0){B}(1,1ex){I}(1,-1ex){J}(1,0){K}(2,0){E}
\ncline{|-|}{B}{E}
\psset{linestyle=dotted}
\ncline{K}{I}\ncline{K}{J}
\nput[labelsep=0.75em]{-45}{B}{\footnotesize\parbox{4cm}{\small$ σ $ matches are formed. \\ Sellers produce $ q $. \\ Buyers transfer $ d . $}}
\nput[labelsep=0.75em]{-45}{K}{\parbox{4.2cm}{\small Agents trade money for goods at the competitive price $ \phi $. \\ Agents split apart. }}
\psset{linestyle=none}
\sffamily\bfseries
\ncline{B}{K}^{\Rnode{D}{DAY (DM)}}\nput[labelsep=1.5cm]{180}{D}{\normalfont\begin{tabular}{r}Some action $ \rightarrow $ \\Some other action $ \rightarrow $\end{tabular}}
\ncline{K}{E}^{NIGHT (CM)}
\end{pspicture}

    \end{document} 

在此处输入图片描述

相关内容