다음 예제 코드를 고려해보세요:
\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}