我正在使用该venndiagram
软件包创建维恩图。文档允许更改阴影颜色,但我不知道如何用不同的颜色为维恩图的不同部分着色。理想情况下,我想在左侧使用黄色,在右侧使用蓝色,然后在中间混合它们。
我知道这可以通过tikzpicture
将它们绘制为重叠的圆圈来完成。但是,我已经在使用维恩图包并且喜欢它的功能。所以我希望它可以在这里完成,而不必手动设置。似乎应该可以使用\fill
随附的命令来完成,但我似乎无法让它工作。
\documentclass{book}
\usepackage{tikz}
\usepackage{venndiagram}
\begin{document}
\pagestyle{empty}
\begin{venndiagram2sets}[labelA={},labelB={}, labelOnlyA={E}, labelOnlyB={F}, labelAB={$E\cap F$}, showframe={false}, radius = {2cm}, overlap={1.5cm}]
\end{venndiagram2sets}
\end{document}
答案1
您可以使用宏\setkeys{venn}{...}
来更改环境内的选项venndiagramm
,如下所示:
\documentclass[border=10pt]{standalone}
\usepackage{venndiagram}
\begin{document}
\pagestyle{empty}
\begin{venndiagram2sets}[
labelA={},
labelB={},
labelOnlyA={$E$},
labelOnlyB={$F$},
labelAB={$E\cap F$},
showframe={false},
radius={2cm},
overlap={1.5cm}
]
\setkeys{venn}{shade=yellow}
\fillA
\setkeys{venn}{shade=cyan}
\fillB
\setkeys{venn}{shade=yellow!50!cyan}
\fillACapB
\end{venndiagram2sets}
\end{document}
答案2
我给出了两种获取更多控制的替代方案,例如将标签E
移到左侧,将标签F
移到右侧。
纯 TikZ
\documentclass[tikz,border=5mm]{standalone}
\begin{document}
\begin{tikzpicture}[declare function={r=1.5;d=.9;}]
\def\pathE{(-d,0) circle(r)}
\def\pathF{(d,0) circle(r)}
\fill[yellow] \pathE;
\fill[cyan] \pathF;
\begin{scope}
\clip \pathE;
\fill[yellow!50!cyan] \pathF;
\end{scope}
\draw (0,0) node{$E\cap F$}
\pathE node[left]{$E$}
\pathF node[right]{$F$}
;
\end{tikzpicture}
\end{document}
普通渐近线
// http://asymptote.ualberta.ca/
size(5cm);
pair A=(0,0), B=(1,0);
path pathL=circle(A,1);
path pathR=circle(B,1);
// https://tex.stackexchange.com/a/9698/140722
path inter=buildcycle(arc(A,1,-90,90),arc(B,1,90,270));
pen penL=lightblue;
pen penR=lightgreen;
fill(pathL,penL);
fill(pathR,penR);
fill(inter,penL+penR);
draw(pathL^^inter^^pathR);
label("$E$",align=5W,A);
label("$F$",align=5E,B);
label("$E\cap F$",(A+B)/2);
//shipout(bbox(5mm,invisible));