我根据 Pgfplots 手册 p324 中的示例构建了以下内容(typeset ticklabels with strut
)
它展示了命名 ticklabel 节点以供日后使用的可能性。
刻度线本身是否存在类似的事情(尽管它们可能不被定义为节点,而是路径?)
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
xmax = 4,
xtick={1,2.5,3},
xticklabel style={draw, name=tickLabel \ticknum},
xtick style = {red, very thick}, % --------------- how to mimic the above ?
domain=0:4,
]
\addplot[]{x};
\end{axis}
\draw[blue,very thick, <->] (tickLabel 0) -- (tickLabel 1);
\end{tikzpicture}
\end{document}
那么基本上,如何抓住非常粗的红色勾号,无论是在顶部还是在底部?
干杯,
答案1
我不清楚获取刻度标记的真正意图。也许,以下内容有帮助:
软件包pgfplots
支持多种坐标系:
axis cs
:该坐标系用于绘图内容,红色刻度的 x 坐标分别由 1、2.5 和 3 给出。axis description cs
可用于获取水平轴的 y 坐标:0, 1可以组合先前的坐标系来获取轴上的点,红色刻度从此处开始,例如:
({axis cs:2.5, 0} |- {axis description cs:0, 1})
该
|-
运算符取左侧坐标的水平分量,取右侧坐标的垂直分量。主刻度的长度可以保存在宏中
\MajorTickLength
:\pgfkeysgetvalue{/pgfplots/major tick length}{\MajorTickLength}
下面的示例从底部刻度标记 3 的顶部到顶部刻度标记 1 的底部绘制一个箭头:
\documentclass[tikz]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
[
xmax = 4,
xtick={1,2.5,3},
xticklabel style={draw, name=tickLabel \ticknum},
xtick style = {red, very thick},
domain=0:4,
]
\addplot[]{x};
\pgfkeysgetvalue{/pgfplots/major tick length}{\MajorTickLength}
\path
({axis cs:3, 0} |- {axis description cs:0, 0})
++(0, \MajorTickLength) coordinate (tick bot 3)
({axis cs:1, 0} |- {axis description cs:0, 1})
++(0, -\MajorTickLength)
coordinate (tick top 1)
;
\end{axis}
\draw[blue, very thick, <->] (tickLabel 0) -- (tickLabel 1);
\draw[blue, very thick, <->] (tick bot 3) -- (tick top 1);
\end{tikzpicture}
\end{document}