我有一个简单的节点(矩形),顶部有一个标签。我希望该标签出现在左上角,但我不知道该怎么做。以下是我的目标:
这是我的代码:
\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
。但是,在这种情况下,指定的位置用于标签的右下角,而它应该用于左下角。为此,您可以将锚点指定为标签选项。