pgfplots 每个轴的不同刻度长度

pgfplots 每个轴的不同刻度长度

有没有一种简单的方法可以让 X 轴和 Y 轴的刻度长度不同?虽然许多刻度格式化命令都有xy版本,仅影响相应的轴,但我找不到轴特定版本的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}

在此处输入图片描述

相关内容