我找不到关于这个特定主题的帖子,尽管我相信我的问题并非独一无二。如果已经有关于此问题的帖子而我尚未找到,请告诉我。
因此,我尝试使用 绘制货币价值图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}