有没有一种简单的方法可以让 X 轴和 Y 轴的刻度长度不同?虽然许多刻度格式化命令都有x
和y
版本,仅影响相应的轴,但我找不到轴特定版本的major tick length
。特别是xaxis tickstyle={major tick length=2pt}
产生unknown key /tikz/major tick
长度。
到目前为止,我能想到的唯一解决方案是两个scale only axis
,一个用于 X 刻度,一个用于 y 刻度,但是在轴之间复制所有最新的轴格式(即最小/最大)很麻烦。如果这是唯一的选择,是否有一种简单的方法可以从另一个轴继承所有选项?
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
tick align=outside,
xtick={1,6},
xticklabels={a,b},
ytick={0.5,0.6,0.7,0.8,0.9,1.0},
major tick length=1ex%,
% x major tick length=0ex
]
\addplot plot coordinates {
(1,0.5)
(6,1)
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
您可以将 x 刻度声明为额外的,然后修改这些额外刻度的样式。
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
tick align=outside,
xtick=\empty,
extra x ticks={1,6},
extra x tick style={major tick length=2pt,blue},
ytick={0.5,0.6,0.7,0.8,0.9,1.0},
major tick length=1ex%,
]
\addplot plot coordinates {
(1,0.5)
(6,1)
};
\end{axis}
\end{tikzpicture}
\end{document}