如何阻塞 pgfplots 图的轴?

如何阻塞 pgfplots 图的轴?

我需要在包中的绘图轴上进行某种跳跃pgfplots。类似于下图中部分刻度被卡住的情况。

在此处输入图片描述

如果顶部和底部的迹线有不同的比例(就像图中一样),那将会很有趣。

任何想法都值得赞赏。

答案1

您可以简单地使用两个相对于彼此定位的轴。

下面是一个示例,我定义了一个新键axis break gap,可用于设置轴之间的间隙:

\documentclass[border=5mm]{standalone}
\usepackage{pgfplotstable}
\tikzset{
    axis break gap/.initial=1mm
}
\begin{document}
    \begin{tikzpicture}
        \begin{axis}[
            name=bottom axis,
            domain = 0:pi,
            scale only axis,
            width=8cm, height=4cm,
            axis x line*=bottom
        ]
            \addplot [smooth] {-cos(deg(x))^6/10+0.2};
            \addplot [smooth] {-cos(deg(x))^6/10+0.4};
        \end{axis}
        \begin{axis}[
            at=(bottom axis.north),
            anchor=south, yshift=\pgfkeysvalueof{/tikz/axis break gap},
            domain = 0:pi,
            scale only axis,
            width=8cm, height=4cm,
            axis x line*=top,
            xticklabel=\empty,
            after end axis/.code={
                \draw (rel axis cs:0,0) +(-2mm,-1mm) -- +(2mm,1mm)
                    ++(0pt,-\pgfkeysvalueof{/tikz/axis break gap})
                    +(-2mm,-1mm) -- +(2mm,1mm)
                    (rel axis cs:1,0) +(-2mm,-1mm) -- +(2mm,1mm)
                    ++(0pt,-\pgfkeysvalueof{/tikz/axis break gap})
                    +(-2mm,-1mm) -- +(2mm,1mm);
            }
        ]
            \addplot [smooth] {-cos(deg(x))^6+2};
            \addplot [smooth] {-cos(deg(x))^6+4};
        \end{axis}
    \end{tikzpicture}
\end{document}

相关内容