向曲线添加箭头

向曲线添加箭头

我尝试使用 Google 并寻找涵盖完全相同问题的旧帖子。我实际上找到了一些看起来很棒的建议,但不幸的是我缺乏将它们应用于我自己的 tikz 图片的技能,因此我寻求帮助。

这是我创建的曲线:

\begin{tikzpicture}
  \node[label=below:$x_0$] (A) at (0,0) {};
  \node[label=below:$x_2$] (B) at (3,1){};
  \node[label=below:$x_1$] (C) at (1.25,0.65) {};
  \node[label=below:$\alpha$] (D) at (0.55,0.45) {};
  \node[label=below:$\beta$] (E) at (2,0.45) {};

  \draw[thick] plot [smooth, tension=0.75] coordinates {(0,0) 
  (0.55,0.45) (1.25,0.65) (2,0.45) (3,1)};

  \draw [fill=black] (A) circle (1pt);
  \draw [fill=black] (B) circle (1pt);
  \draw [fill=black] (C) circle (1pt);  
\end{tikzpicture}

我知道我能提出的不多,但是我尝试了几个小时自己添加箭头,这基本上是我放弃后唯一没有被迫删除的代码块。

箭头应该位于 $\alpha$ 和 $\beta$ 正上方的曲线上。有人可以帮我做到这一点吗?

我已经尝试了一些解决方案,但要么不起作用,要么我不知道如何正确应用它。

我非常感谢你的帮助!

答案1

如果我正确地理解了您的意思,您可以按如下方式使用包decorations.markings中的库:tikz

\documentclass[border=10pt]{standalone}

\usepackage{tikz}
\usetikzlibrary{decorations.markings}

\begin{document}    

\begin{tikzpicture}

\begin{scope}[thick,decoration={
    markings,
    mark=at position 0.2 with {\arrow{>}},
    mark=at position 0.7 with {\arrow{>}}}
] 
\node[label=below:$x_0$] (A) at (0,0) {};
\node[label=below:$x_2$] (B) at (3,1){};
\node[label=below:$x_1$] (C) at (1.25,0.65) {};
\node[label=below:$\alpha$] (D) at (0.55,0.45) {};
\node[label=below:$\beta$] (E) at (2,0.45) {};

\draw[thick,postaction={decorate}] plot [smooth, tension=0.75] coordinates {(0,0) 
    (0.55,0.45) (1.25,0.65) (2,0.45) (3,1)};
\end{scope}

\draw [fill=black] (A) circle (1pt);
\draw [fill=black] (B) circle (1pt);
\draw [fill=black] (C) circle (1pt);  
\end{tikzpicture}

\end{document}

最终结果

在此处输入图片描述

如果箭头的方向不是您想要的,您可以简单地用 替换任何相应的\arrow{>}命令\arrow{<}

相关内容