在 TikZ 中设置单位长度?

在 TikZ 中设置单位长度?

据我了解,TikZ 中的基本单位长度是 1cm,例如

\draw (0,0) -- (1,0);

画一条长度为 1cm 的线。我想要做的是重新定义该长度,以便文档中的所有绘图都是不同的大小。如何使用 ConTeXt 来实现这一点?

答案1

x您可以使用、y和键独立设置 TikZ 中 X、Y 甚至 Z 坐标的单位长度z

\begin{tikzpicture}[x=2cm,y=1.5cm]
  ...

参见pgfmanual第 249 页第 22.2 节XY 和 XYZ 坐标系

请注意,TikZ 实际上没有单位长度,而是使用向量。因此,上述键也接受(a,b)坐标(必须用 括起来{ }才能隐藏,)。X 和 Y 单位向量不需要彼此正交。上述代码是 的简短版本[x={(2cm,0cm)},y={(0cm,1.5cm)}]

您也可以使用提到的选项scale,但我更喜欢上述选项。一个区别是,具有明确单位的坐标也会使用 进行缩放scale。例如,当设置为(2cm,2)时,两个方向的坐标均为 3 厘米,但设置为 时。scale=1.5(2cm,3cm)x=1.5cm,y=1.5cm


使用向量的一个问题是,即使对于 XY(无 Z)正交坐标系的默认设置,您也无法访问有效单位长度。我个人需要将其用于我的tikz-timing包。您需要为此使用 PGF 代码:\pgfpointxy{1}{1}将为您提供 X 和 Y 单位长度和\pgf@x\pgf@y但请注意,这些长度寄存器将被下一个 PGF 或 TikZ 命令覆盖。

相关内容