使用哪些测量单位来移动 TikZ/PGFplot 图中标签

使用哪些测量单位来移动 TikZ/PGFplot 图中标签

xshift=1.0em我经常使用,例如,或来移动 TikZ/PGFplot 图表上的标签yshift=1.0ex。这些是用于移动的正确单位吗?我不认为我应该使用绝对单位,因为如果字体大小发生变化,这些单位不会调整,类似于这个问题在 LaTeX 中应该使用哪些测量单位?

想知道由于这与普通文本无关,是否有什么特殊注意事项需要我牢记?

答案1

这比 TeX 更具排版风格。

  1. 这里的“自然”单位似乎是\baselineskip——两个基线之间的距离。
  2. 线条粗细也取决于所使用的字体,但没有与之相关的相对单位。

一些解释:

  1. 标签的位置并不直接取决于字体大小,而是取决于领导。这是因为图形必须具有与文本相同的文本间距和颜色。并且可以设置具有不同行距的同一种字体。因此,这里的“自然”宽度似乎是\baselineskip- 两个基线之间的距离。这是垂直定位。水平定位是相同的,或者根据字体比例有一个商。因为有从超窄到超宽的字体。
  2. 所有线条艺术中使用的线宽也取决于所用的字体。通常它与X两条线相交点附近的线粗细。这就像大小exX高度。但不幸的是,没有与之相关的相对单位。例如,如果电脑现代(细线)被使用,然后被切换到,比如说,教科书(粗线),则必须增加图表上的线条粗细,以匹配所用新字体的深色。

答案2

对 Karl Karlsson 的精彩回答进行补充:

在某些情况下,您可能希望使用当前图的线宽(而不是字体的线宽)来移动标签。您可以使用\pgflinewidth它来实现这一点。但是,这仅在带有标签的节点作为命令的一部分指定时才有效\addplot,否则它将被设置为标准 PGF 线宽。

下面是一个可能有用的例子:

带有粗线的 pgfplots

\documentclass{article}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[no markers, ymin=0,ymax=5]
\addplot +[line width=0.5cm] {3} node [anchor=base east, text=black] {Text};
\addplot +[line width=0.5cm] {2} node [anchor=base east,text=black,yshift=0.5\pgflinewidth] {Test};

\end{axis}
\end{tikzpicture}
\end{document}

相关内容