Como interromper uma trama?

Como interromper uma trama?

Considere o seguinte código de exemplo:

\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}

Produzindo

insira a descrição da imagem aqui

O que eu quero fazer é interromper a trama,sem modificar a tabela(se possível), nos locais desejados para obter algo assim (obtive a imagem apagando manualmente algumas linhas de conexão):

insira a descrição da imagem aqui

Idealmente, eu gostaria de fazer isso com apenas um \addplot, mas se isso não for possível, quaisquer alternativas serão bem-vindas.

Responder1

Posso pensar em duas opções:

1)Se você pode modificar sua tabelauma solução fácil é adicionar algum tipo de dados indefinidos e usar a opção unbounded coords=jump. Tanto "nan" quanto "inf" funcionarão. Não posto o resultado porque fica exatamente como você deseja:

\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)Se a tabela NÃO PODE ser modificadaSugiro dividir o enredo e definir domains. Isto não é isento de problemas porque você terá que repetir o formato nestes (como[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}

informação relacionada