假设我的绘图在公制 x,y 平面中显示几何对象,因此一个轴单位等于 1m。使用公制单位绘制axis cs
坐标很容易,如下例所示:
\begin{tikzpicture}
\begin{axis}[
xmin=0,
xmax=20,
ymin=0,
ymax=20,
axis lines=center,
axis equal
]
\draw[line width=10mm] (axis cs: 10,0) -- (axis cs: 10,10);
\end{axis}
\end{tikzpicture}
有没有办法定义宽度线的宽度是否也以轴坐标单位表示(可能用 veclen 等)? 似乎以某种像素单位\draw[line width=10mm]
来定义文档目标单位中的宽度。\draw[line width=10]
答案1
当然。(在足够新的 pgfplots 版本中axis cs:
不再需要。
\documentclass[tikz,border=3.14mm]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xmin=0,
xmax=20,
ymin=0,
ymax=20,
axis lines=center,
axis equal
]
\draw let \p1=($(axis cs: 1,0)-(axis cs: 0,0)$) in
% \x1 is now one axis x unit
[line width=2*\x1] (axis cs: 10,0) -- (axis cs: 10,10);
\end{axis}
\end{tikzpicture}
\end{document}