我想创建附加的维恩图并通过阴影显示不同区域的不同变化:
我对乳胶还很陌生,不知道该怎么做。我找到了一个解决方案,如何使用这个响应来制作圆形和矩形:如何创建带有箭头和矩形的概率定律图?
但我仍然在努力遮蔽我感兴趣的每个领域。有人可以指导我吗?
答案1
您可以使用 来为某些路径(例如椭圆、矩形等)的交叉点着色\clip
。可以使用 来回收路径,save path
以将路径存储在宏中并use path
重复使用。该backgrounds
库允许您仅对线内的区域进行着色。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{backgrounds}
\begin{document}
\begin{tikzpicture}[thick,draw=blue,
circ/.style={circle,draw=green,fill=white,fill opacity=0.8}]
\draw (-3,-3) rectangle (3,3);
\draw (0,-3) -- (0,3);
\draw[save path=\pathA] (0,1) circle[x radius=2,y radius=1.5];
\draw[save path=\pathC] (0,-1) circle[x radius=2,y radius=1.5];
\begin{scope}[on background layer]
\clip[use path=\pathA]; % intersection of A and C
\fill[green,use path=\pathC];
\clip (0,-3) rectangle (3,3); % right half of A
\fill[green,use path=\pathA];
\end{scope}
\path (0,1) + (120:2 and 1.5) node[circ]{$A$};
\path (1.5,3) node[circ]{$B$};
\path (0,-1) + (-60:2 and 1.5) node[circ]{$C$};
\path[text=red] foreach \X in {-1,1}
{(\X,1) node{$6,8,10$} (0.5*\X,0) node{$1,3$}
(2.5*\X,-1) node{$\begin{array}{@{}c@{}}5,\\ 7,\\ 9\end{array}$}};
\end{tikzpicture}
\end{document}