Considere el siguiente código de ejemplo:
\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}
Productor
Lo que quiero hacer es interrumpir la trama,sin modificar la tabla(si es posible), en las ubicaciones deseadas para obtener algo como esto (obtuve la imagen borrando manualmente algunas líneas de conexión):
Idealmente, me gustaría hacer esto con solo uno \addplot
, pero si eso no es posible, cualquier alternativa es bienvenida.
Respuesta1
Puedo pensar en dos opciones:
1)Si puedes modificar tu tablauna solución fácil es agregar algún tipo de datos no definidos y usar la opción unbounded coords=jump
. Tanto "nan" como "inf" funcionarán. No publico el resultado porque se ve exactamente como quieres:
\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)Si la tabla NO se puede modificarSugiero dividir la trama y definir domains
. Esto no está exento de problemas porque tendrás que repetir el formato en estos (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}