删除 pgfplots 线图中两个坐标之间的线

删除 pgfplots 线图中两个坐标之间的线

我找不到关于这个特定主题的帖子,尽管我相信我的问题并非独一无二。如果已经有关于此问题的帖子而我尚未找到,请告诉我。

因此,我尝试使用 绘制货币价值图pgfplots。但是,由于货币在时间序列的中间发生了变化,因此我想在线条中留出一个断点,这样就不会绘制 1990 年和 2000 年之间的线条。如何删除这些单线?

我的例子是:

\begin{figure}
\centering
\begin{tikzpicture}
  \begin{axis}[width=\textwidth, xlabel = year,%\,/\,Tsd. Tonnen,
      xmin = 1965, xmax = 2015,
      xtick={1960, 1970, 1980, 1990, 2000, 2010},
      x tick label style={/pgf/number format/1000 sep=},
      ylabel = example,
      ymin = 1000, ymax = 5000,
      y tick label style={/pgf/number format/1000 sep=},]
      \addplot 
      coordinates {
(1960,  1650)
(1970,  2550)
(1980,  4050)
(1990,  4550)
(2000,  3550)
(2010,  3750)
         };
       \addplot 
      coordinates {
(1960,  1600)
(1970,  2500)
(1980,  4000)
(1990,  4500)
(2000,  3500)
(2010,  3700)
         };
\legend{a, b}
   \end{axis}
\end{tikzpicture}
\vspace*{0.4cm} 
\caption[Example.]{Example.}
\end{figure}

图片看起来是这样的:

在此处输入图片描述

提前感谢你的帮助!:)

答案1

一种方法是添加unbounded coords=jump到选项中axis,并在 1990 年到 2000 年之间的某个地方添加一个坐标。例如,nan下面我添加了。(1995, nan)

或者,您可以将时间序列分成两个\addplot时间序列,但这会增加更多工作量以确保绘图样式相同。

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
  \begin{axis}[width=\textwidth, xlabel = year,%\,/\,Tsd. Tonnen,
      xmin = 1965, xmax = 2015,
      xtick={1960, 1970, 1980, 1990, 2000, 2010},
      x tick label style={/pgf/number format/1000 sep=},
      ylabel = example,
      ymin = 1000, ymax = 5000,
      y tick label style={/pgf/number format/1000 sep=},
      unbounded coords=jump  %%%% added
      ]
      \addplot 
      coordinates {
(1960,  1650)
(1970,  2550)
(1980,  4050)
(1990,  4550)
(1995, nan)
(2000,  3550)
(2010,  3750)
         };
       \addplot 
      coordinates {
(1960,  1600)
(1970,  2500)
(1980,  4000)
(1990,  4500)
(1995, nan)
(2000,  3500)
(2010,  3700)
         };
\legend{a, b}
   \end{axis}
\end{tikzpicture}

\end{document}

相关内容