![在 Tikz 中混合 pt 和 cm 单位?](https://linux22.com/image/430091/%E5%9C%A8%20Tikz%20%E4%B8%AD%E6%B7%B7%E5%90%88%20pt%20%E5%92%8C%20cm%20%E5%8D%95%E4%BD%8D%EF%BC%9F.png)
我有一张有两条水平线的图。两条线都应该有刻度,但只有下一条线应该在 x 轴下方有标签。不幸的是,我不知道如何在上面的线上添加刻度,因为单位是厘米,而刻度是以磅为单位添加的。我需要将 1pt 和 -3pt 转换为厘米并将绝对值放在那里吗?我尝试使用类似的东西进行混合,\draw (2.5,15+1pt) -- (2.5,15-3pt)
但失败了。
代码:
\begin{figure}
\centering
\begin{tikzpicture}[y=.2cm, x=.7cm]
%axis
\draw (1,0) -- coordinate (x axis mid) (18.9,0);
\draw (1,15) -- coordinate (bla) (18.9,15);
%ticks
\draw (2.5,1pt) -- (2.5,-3pt)
node[anchor=north] {1};
% \draw (2.5,1pt) -- (2.5,-3pt) <---- add here ticks on the upper horizontal line at the same x position as the lower line (1)
\end{tikzpicture}
\captionof{figure}{bla}
\Description{bla}
\label{fig:bla}
\end{figure}
答案1
没有数字的坐标以 为单位x
,y
参数为tikzpicture
(默认 1 厘米)。
在这种情况下,一种可能的方法是使用转变应用于坐标,如:
\draw ([yshift=1pt]2.5,15) -- ([yshift=-3pt]2.5,15)
当你混合纯数字和单位,纯数被假定为pt
:
\documentclass[border=10pt]{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[]
%axis
\draw [ultra thin, dotted] (0,0) grid (3,3);
\draw (1,2) -- ++(2,0);
\draw [red] ([yshift=5pt] 1,2) -- ++(2,0);
\draw [blue] (1,2+5pt) -- ++(2,0);
\node [circle, draw, green] at (1cm, 7pt){};
\end{tikzpicture}
\end{document}
顺便说一句,请注意(下次)这是一个正确的最小工作示例(MWE)