最近,忙了很多,很多问题没有时间看,之前一位网友问及Veen图如何用斜线填充,实际,我当时也没想出来。后来,请教我身边的高人(当然是老婆了,今天她生日哦,生日快乐),用clip可以做出来。对于Veen图,黄老师写了一个文档基本都介绍清晰了,参看:Veen-pgf.pdf
如下是斜线填充效果图:
代码如下:
\begin{tikzpicture}
\draw (0,0) circle (2cm);
\draw (2,0) circle (2cm);
\clip[draw] (0,0) circle (2cm);
\clip[draw] (2,0) circle (2cm);
\foreach \x in
{-1,-0.75,-0.5,-0.25,0,0,0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5,2.75}
\draw[xshift=\x cm] (-2,2)--(2,-2);
\end{tikzpicture}
\begin{tikzpicture}
\draw (0,0) circle (2cm);
\draw (55:2.67cm) circle (2cm);
\draw (0:3cm) circle (2cm);
\clip (0,0) circle (2cm);
\clip (55:2.67cm) circle (2cm);
\clip (0:3cm) circle (2cm);
\foreach \x in
{-1,-0.75,-0.5,-0.25,0,0,0.25,0.5,0.75,1,1.25,1.5,1.75,2,2.25,2.5,2.75}
\draw[xshift=\x cm] (-2,2)--(2,-2);
\end{tikzpicture}
\begin{tikzpicture}
\tikzset{venn circle/.style={draw,circle,minimum
width=6cm,fill=#1,opacity=0.5,very thick}}
\node [venn circle = red] (A) at (0,0)
{$A$};
\node [venn circle = blue] (B) at (60:4cm)
{$B$};
\node [venn circle = green] (C) at (0:4cm)
{$C$};
\draw (0,0) circle (3cm);
\draw (60:4cm) circle (3cm);
\draw (0:4cm) circle (3cm);
\begin{scope}
\clip (0,0) circle (3cm);
\clip (60:4cm) circle (3cm);
\foreach \x in
{-5,-4.5,-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5}
\draw[overlay, xshift=\x cm] (2,4)--(2,0);
\end{scope}
\begin{scope}
\clip (60:4cm) circle (3cm);\clip (0:4cm) circle (3cm);
\foreach \y in
{-5,-4.5,-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5}
\draw[overlay, xshift=\y cm] (1,0)--(5,4);
\end{scope}
\begin{scope}
\clip (0,0) circle (3cm);
\clip (0:4cm) circle (3cm);
\foreach \z in
{-5,-4.5,-4,-3.5,-3,-2.5,-2,-1.5,-1,-0.5,0,0.5,1,1.5,2,2.5,3,3.5,4,4.5,5}
\draw[overlay, yshift=\z cm] (0,3)--(4,3);
\end{scope}
\end{tikzpicture}