在这张 TikZ 图片中
\begin{tikzpicture}
\draw (0,0) rectangle (5,5);
\draw[color=blue] plot[mark=*] coordinates {(-2,3) (0,1) (2,3) (4,2) (6,4)};
\end{tikzpicture}
我想将蓝色绘图线剪切到黑色矩形中。当然,我可以通过clip
向第一个draw
命令添加选项来实现这一点:
\begin{tikzpicture}
\draw[clip] (0,0) rectangle (5,5);
\draw[color=blue] plot[mark=*] coordinates {(-2,3) (0,1) (2,3) (4,2) (6,4)};
\end{tikzpicture}
但是,这会导致边缘处的绘图标记被切成两半。相反,我希望绘图标记在坐标位于剪辑区域之外时被完全剪辑(不显示),或者在坐标位于剪辑区域之内时完全显示。结果将是这样的:
是否可以通过一些 TikZ 技巧来实现这一点(即除了分别绘制线条和标记之外)?
答案1
你想要这样的东西吗?:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ticks=none,xmin=0,xmax=5,ymin=0,ymax=5,axis equal image] % This simulates the rectangle with extremes (0,0) and (5,5)
\addplot[color=blue,mark=*] coordinates {(-2,3) (0,1) (2,3) (4,2) (6,4)};
\end{axis}
\end{tikzpicture}
\end{document}