轴偏移的轴线(脊柱)和适合最后刻度的范围

轴偏移的轴线(脊柱)和适合最后刻度的范围

考虑下面的图片。我想复制两个属性PGFplots

  1. 应移除一些脊柱(即轴线)(顶部和右侧)
  2. 脊柱向外推,使得刻度线不会进入绘图区域
  3. 棘刺停止在末端

在此处输入图片描述


\documentclass{article}

\RequirePackage{tikz}
\usetikzlibrary{calc}
\RequirePackage{pgfplots}
\RequirePackage{pgffor}
\pgfplotsset{compat=newest}

\begin{document}

\begin{tikzpicture}
        \begin{axis}[clip limits=true, enlarge x limits=-1, enlarge y limits=-1]
        \addplot table[header=false,x expr=\coordindex, y index=0] {
            1
            2
            3
            2
            1
        };
        \end{axis}
        \end{tikzpicture}
\end{document}

答案1

这可以完全按照您所说的方式完成,即“将轴线移动刻度的长度”。

% used PGFPlots v1.18.1
\documentclass[border=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        axis lines*=left,
        major tick length=10pt,      % <-- for debugging only
        axis line shift={\pgfkeysvalueof{/pgfplots/major tick length}},
    ]
        \addplot {sin(deg(x))};
    \end{axis}
\end{tikzpicture}
\end{document}

该图显示了上述代码的结果

答案2

只是为了完整回答:

axis x line*=bottom, axis y line*=left删除上方的 x 轴和右侧的 y 轴。

@Stefan Pinnow 似乎已经明白了你所说的“脊柱偏移的设计使得刻度刚好接触到绘图区域”是什么意思这里

\documentclass{article}
\usepackage{pgfplots}


\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            clip limits=true, 
            axis x line*=bottom,
            axis y line*=left,ymax=3,xmax=4,xmin=-0.1,ymin=0.9,
            axis line shift={\pgfkeysvalueof{/pgfplots/major tick length}}]
            \addplot table[header=false,x expr=\coordindex, y index=0] {
                1
                2
                3
                2
                1
            };
        \end{axis}
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容