在线上获取不连续符号的最佳方法是什么?

在线上获取不连续符号的最佳方法是什么?

我正在尝试创建一个图表,其中跳过了一些距离/数据,并且在轴上用一个小符号(小锯齿形或一些对角线)表示,如下面的示例图所示。

在 tikz 中重现此符号/样式的最佳方法是什么?(顺便问一下,是否有任何特定符号被视为标准符号,或者比其他符号更受青睐?)

示例1 示例2

我目前正在使用下面的代码生成图表的轴,并希望符号出现在 (-2,6) 点附近。

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{figure}
\begin{tikzpicture}
    \draw[black,ultra thick] [-stealth] (-2,0) -- (-2,14);
    \node[rotate=90,font=\Large,anchor=south] at (-2,7) {Energy};
\end{tikzpicture}
\end{figure}
\end{document}

答案1

给你很多自由的一种方法就是(部分)抑制轴的绘制,并在绘图后用装饰重新绘制它:

\documentclass{article}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
 separate axis lines,
 x axis line style= { draw opacity=0 }]
\addplot[] {x^2};

%store coodinates
\path[-] (rel axis cs:0,0)     coordinate(botstart)
          --(rel axis cs:0.7,0)coordinate(interruptbotA)
         (rel axis cs:0.87,0)  coordinate(interruptbotB)
         --(rel axis cs:1,0)   coordinate(botstop);

\path[-] (rel axis cs:0,1)     coordinate(topstart)
         --(rel axis cs:0.7,1) coordinate(interrupttopA)
         (rel axis cs:0.87,1)  coordinate(interrupttopB)
         --(rel axis cs:1,1)   coordinate(topstop);
\end{axis}

%Draw the axis with a decoration:
\draw(botstart)-- (interruptbotA) decorate[decoration=zigzag]{--(interruptbotB)} -- (botstop);
\draw(topstart)-- (interrupttopA) decorate[decoration=zigzag]{--(interrupttopB)} -- (topstop);

\end{tikzpicture}

\end{document} 

在此处输入图片描述

您也可以在轴环境内绘图,但可能必须禁用剪切。

答案2

我设法找到了一个简单但有效的解决方案,我想与大家分享一下。本质上,我只是用三条连续的线替换了原始代码中的单行,中间一行有锯齿形装饰。这会产生锯齿形符号,表示线/图形不连续。我不知道如何生成其他类型的符号,但由于这个解决方案可以完成工作,所以我并不关心。

对于任何试图根据自己的目的调整此方法的人来说,需要注意的重要一点是,segment length中线的 需要等于其长度,长度由其起点和终点坐标决定。这确保锯齿形只有一个波长。

\documentclass{article}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}

    \begin{figure}
        \begin{tikzpicture}
        \draw[black,ultra thick] (-2,0) -- (-2,5.5);
        \draw[black,ultra thick,decorate,decoration={zigzag,segment length=3mm, amplitude=5pt}] (-2,5.5) -- (-2,5.8);
        \draw[black,ultra thick] [-stealth] (-2,5.8) -- (-2,14);
        \node[rotate=90,font=\Large,anchor=south] at (-2,7) {Energy};
        \end{tikzpicture}
    \end{figure}

\end{document}

相关内容