
Я не могу найти пост по этой теме, хотя я считаю, что моя проблема не уникальна. Если уже есть тема, которую я не нашел, пожалуйста, дайте мне знать.
Итак, я пытаюсь построить график денежных значений с помощью 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
опциям координаты nan
где-то между 1990 и 2000 годами. Ниже я добавил (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}