Tikz:通过中途的点淡出边缘

Tikz:通过中途的点淡出边缘

我有一条从节点 A 到节点 B 的边:

\draw[] (A) edge (B);

这将创建如下边:

A --------------------------------- B

我想知道我必须填充哪些属性[]以使边缘看起来如下所示:

A -------- - - -                     B

换句话说,边缘应该只在 A 和 B 之间的路径的一半处可见(或者在某个固定距离处也可以),并且边缘应该通过点逐渐消失。

答案1

虽然不完全是褪色,但是这样就足够了吗?使用calc

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[
    thick]
    \node (A)  at (0,0)  {A};
    \node (B)  at (5,0) {B};
    \draw[] (A) edge ($(A)!0.45!(B)$) edge [dotted] ($(A)!0.55!(B)$);
\end{tikzpicture}
\end{document}

Result from the code above

基本上,它会在从到 的45% 路径edge之间绘制一条平面图,然后添加 10% 长度的虚线路径。您可以清楚地更改数字(或添加更多部分,例如另一个带有更多间距点的部分,或者带有灰色点的部分,您明白了)。AAB

您可以在线上使用绝对距离(参见 tikz 手册第 13.5.4 节“距离修饰符的语法”):

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[
    thick]
    \node (A)  at (0,0)  {A};
    \node (B)  at (5,3) {B};
    \draw[] (A) edge ($(A)!3cm!(B)$) edge [dotted] ($(A)!3.4cm!(B)$);
\end{tikzpicture}
\end{document}

New output

相关内容