TikZ 图片中与边缘平行的线

TikZ 图片中与边缘平行的线

我在 TikZ 中用以下代码构建了一个图表

\node[...] (1) at (0,0) {1};

\node[...] (2) at (1,1) {2} 
  edge (1);

我想在 1 和 2 之间的边缘处添加一条平行于边缘的短线(带箭头),距离边缘有一段距离(并在短线上附加标签)。有没有一种简单的方法可以做到这一点,而无需计算坐标?

答案1

您可以使用装饰,就像 Claudio Fiandrino 指出的答案中那样,如果您的绘图中有多个这样的箭头,这会特别有用。

对于个别特殊情况可能有用的不同方法如下:

\usetikzlibrary{calc}

\begin{tikzpicture}

\node[] (1) at (0,0) {1};
\node[] (2) at (1,1) {2} 
  edge (1);

\draw[->] ($(1)!0.3!(2)!1mm!90:(2)$) -- ($(1)!0.7!(2)!1mm!90:(2)$)
 node[midway,sloped,above] {\tiny label};

\end{tikzpicture}

结果

使用的语法称为“插值坐标”。在上面的代码中,您可以调整量0.30.7(箭头开始和结束的线段长度的分数)和1mm(平行箭头和主线段之间的距离)。如果您想要平行箭头,也可以90用替换-90以下原始段(在这种情况下,当然,您应该使用below标签选项)。

答案2

在距离 1cm 处构建与 (a)--(b) 平行线的方法:

\draw ($(a)!0cm!(b)!-1cm!90:(b)$) -- ($(b)!0cm!(a)!1cm!90:(a)$);

相关内容