Пожалуйста, рассмотрите следующий пример кода:
\documentclass{article}
\usepackage{pgfplotstable}
\pgfplotstableread{
1 19.178 26.027 8.219 6.849 39.726 1
2 54.795 21.918 4.110 6.849 12.329 1
3 28.767 16.438 6.849 8.219 39.726 1
4 63.014 2.740 2.740 8.219 28.767 2
5 90.411 1.370 6.849 0.000 1.370 2
6 15.068 2.740 16.438 8.219 57.534 2
7 67.123 0.000 0.000 1.000 32.877 3
8 72.603 6.849 5.479 5.000 15.068 3
9 56.164 12.329 6.849 4.110 20.548 3
10 50.685 4.110 8.219 1.370 35.616 3
}\datatable
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot table[x index=0,y index=4] \datatable;
\end{axis}
\end{tikzpicture}
\end{document}
Производство
Я хочу прервать сюжет,без изменения таблицы(если возможно) в желаемых местах, чтобы получить что-то вроде этого (я получил изображение, вручную стерев некоторые соединительные линии):
В идеале я бы хотел сделать это с помощью всего одного \addplot
, но если это невозможно, любые альтернативы приветствуются.
решение1
Я могу предложить два варианта:
1)Если вы можете изменить свою таблицулегкое исправление — добавить какие-то неопределенные данные и использовать опцию unbounded coords=jump
. Подойдет как "nan", так и "inf". Я не публикую результат, потому что он выглядит именно так, как вы хотите:
\documentclass{article}
\usepackage{pgfplotstable}
\pgfplotstableread{
1 19.178 26.027 8.219 6.849 39.726 1
2 54.795 21.918 4.110 6.849 12.329 1
3 28.767 16.438 6.849 8.219 39.726 1
nan nan nan nan nan nan nan
4 63.014 2.740 2.740 8.219 28.767 2
5 90.411 1.370 6.849 0.000 1.370 2
6 15.068 2.740 16.438 8.219 57.534 2
nan
7 67.123 0.000 0.000 1.000 32.877 3
8 72.603 6.849 5.479 5.000 15.068 3
9 56.164 12.329 6.849 4.110 20.548 3
10 50.685 4.110 8.219 1.370 35.616 3
}\datatable
\begin{document}
\begin{tikzpicture}
\begin{axis}[unbounded coords=jump]
\addplot table[x index=0,y index=4] \datatable;
\end{axis}
\end{tikzpicture}
\end{document}
2)Если таблица НЕ МОЖЕТ быть измененаЯ предлагаю разделить сюжет и определить domains
. Это не без проблем, потому что вам придется повторить формат в этих, (например,[red, solid, thick,...])
\begin{tikzpicture}
\begin{axis}
\addplot+[forget plot] table[x index=0,y index=4, restrict x to domain=0:3] \datatable;
\addplot+[forget plot] table[x index=0,y index=4, restrict x to domain=4:6] \datatable;
\addplot+[ ] table[x index=0,y index=4, restrict x to domain=7:10] \datatable;
\end{axis}
\end{tikzpicture}