在 Tikz 中,如何将节点的标签对齐设置为左对齐?

在 Tikz 中,如何将节点的标签对齐设置为左对齐?

我有一个简单的节点(矩形),顶部有一个标签。我希望该标签出现在左上角,但我不知道该怎么做。以下是我的目标:

在此处输入图片描述

这是我的代码:

\node [rectangle, label={Grid}] at (3.25, .25) {};

我尝试过设置

label={[align=left]Grid}

但它们不会将标签左对齐。它们会将标签放在节点的左侧。此外,

label={[left=4]Grid}

效果不错,它把标签移到了左边,但不知何故也破坏了它的垂直定位。然后尝试用

label={[left=4, above=1]Grid}

above=1虽然单独操作确实使其向上移动,但没有用。

最后一种情况的 MVE:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}

\node [label={[left=4]:Grid}, draw=blue, rectangle, minimum width=10cm, minimum height=7cm] at (0, 0) {};

\end{tikzpicture}
\end{document}

但理想情况下,我只想告诉它为我进行左对齐。

答案1

像这样?

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}

\node [draw=blue, rectangle, minimum width=10cm, minimum height=7cm] at (0, 0)(r) {};
\node[above right] at (r.north west){Grid};
\end{tikzpicture}
\end{document}

截屏

仅带标签:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}

\node [draw=blue, rectangle, minimum width=10cm, minimum height=7cm,name=r,label={[shift=(r.north west)]above right:Grid}] at (0, 0) {};

\end{tikzpicture}
\end{document}

答案2

带有标签:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}
\node [label={north west:Grid}, draw=blue, rectangle, minimum width=10cm, minimum height=2cm] at (0, 3) {};
\node [label={[anchor=south west]north west:Grid}, draw=blue, rectangle, minimum width=10cm, minimum height=2cm] at (0, 0) {};
\end{tikzpicture}
\end{document}

在此处输入图片描述

标签的语法是position:label text,节点的左上角称为north west。但是,在这种情况下,指定的位置用于标签的右下角,而它应该用于左下角。为此,您可以将锚点指定为标签选项。

答案3

人们可以做得更短。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw[blue] (10,-7) rectangle (0,0) node[above right,black]{Grid};
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容