\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node(a){test};
\node(b)[below=5cm of a]{test2};
\draw[red,bend right=90](b.east)to(a.east);
\end{tikzpicture}
\end{document}
这是一个简单的问题,我正在寻找一种方法来将线弯曲超过 90 度,理想情况下,线应该绕得更大。我该怎么做?
我的意思是:
答案1
选项1
您可以将您的更改bend right=90
为out=-45, in=45
。
选项 2
您可以使用贝塞尔曲线。调整5
为您想要的值。
\draw[red](b.east) .. controls +(5,0) and +(5,0) .. (a.east);
答案2
您正在寻找looseness
选项吗?
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node(a){test};
\node(b)[below=5cm of a]{test2};
\draw[red,bend right=90,
looseness=3
](b.east)to(a.east);
\end{tikzpicture}
\end{document}
或者
\draw[red,out=-20, in=20,
looseness=3
](b.east)to(a.east);
答案3
您可以使用distance
:
\draw[red](b.east)to[bend right=90,distance=7cm](a.east);
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node(a){test};
\node(b)[below=5cm of a]{test2};
\draw[red](b.east)to[bend right=90,distance=7cm](a.east);
\end{tikzpicture}
\end{document}
或者您也可以controls
直接在操作选项中输入to
。
\draw[red](b.east)to[controls=+(0:7) and +(0:7)](a.east);
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node(a){test};
\node(b)[below=5cm of a]{test2};
\draw[red](b.east)to[controls=+(0:7) and +(0:7)](a.east);
\end{tikzpicture}
\end{document}
答案4
这是使用您的“节点”样式的另一种解决方案 - 您可以将节点标签留空,以便只有 2 个节点“可见”。
您可以tension=1.5
根据自己的喜好进行更改。
TikZ
您可以在第 31 页第 2.4 节的手册中找到有关控制点和张力的更多信息。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
\node(a){test};
\node(b)[below=5cm of a]{test2};
\node(c)[below right=3cm of a]{control node};
%\draw[red,bend right=90] (b.east) to (a.east);
\draw[red] plot [smooth, tension=1.5] coordinates {
(b.east) (c.east) (a.east)
};
\end{tikzpicture}
\end{document}
以下是空节点的示例