LATEX:如何制作带有分区和阴影的维恩图

LATEX:如何制作带有分区和阴影的维恩图

我想创建附加的维恩图并通过阴影显示不同区域的不同变化:

在此处输入图片描述

我对乳胶还很陌生,不知道该怎么做。我找到了一个解决方案,如何使用这个响应来制作圆形和矩形:如何创建带有箭头和矩形的概率定律图?

但我仍然在努力遮蔽我感兴趣的每个领域。有人可以指导我吗?

答案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}

在此处输入图片描述

相关内容