-1

I want to illustrate overlaps in three sets, similar to how one of these standard color plots [do they have a name?] look like

three-color-set

except that I want to choose my own colors and different text [not C, M, and Y]. (I want the inside most quasi-triangle to be a red, the area outside of the plot to be a green, and the partials [both three inner and three outers, though different] have some sort of mix colors. presumably a little bit lighter, because I need text in each intersection, too, that needs to be readable.). the idea is to show that when all three things come together, it's bad. a trifecta.

maybe I need a graphical artist rather than latex...or is this somehow built in?

ivo Welch
  • 3,766
  • 1
    Have a look at tikz. You can use \clip to draw parts of circles, see e.g. https://tex.stackexchange.com/a/67429/36296 or https://tex.stackexchange.com/a/9682/36296 – samcarter_is_at_topanswers.xyz Jun 14 '23 at 09:50
  • If you think a moment about how to position the three circles, it should not be too difficult to come up with something using arcs and polar coordinates. – Jasper Habicht Jun 14 '23 at 10:13

1 Answers1

2

It is actually quite easy to draw the single segments directly using polar coordinates and some arcs. There is no need to calculate intersections in a complicated manner. This way, you can style each segment as you wish. I leave it to you to place the nodes for the labels:

\documentclass[border=10pt]{standalone}
\usepackage{tikz}

\begin{document} \begin{tikzpicture}

% upper circle segment
\path[fill=red!50] (180:1) 
    arc[start angle=180, end angle=0, radius=1]
    arc[start angle=60, end angle=120, radius=1]
    arc[start angle=60, end angle=120, radius=1]
    -- cycle;

% lower left circle segment
\path[fill=blue!50] (180:1) 
    arc[start angle=120, end angle=300, radius=1]
    arc[start angle=240, end angle=180, radius=1]
    arc[start angle=240, end angle=180, radius=1]
    -- cycle;

% lower right circle
\path[fill=green!50] (0:1) 
    arc[start angle=420, end angle=240, radius=1]
    arc[start angle=300, end angle=360, radius=1]
    arc[start angle=300, end angle=360, radius=1]
    -- cycle;

% inner pseudo triangle
\path[fill=gray!10] (0:0) 
    arc[start angle=60, end angle=0, radius=1]
    arc[start angle=300, end angle=240, radius=1]
    arc[start angle=180, end angle=120, radius=1]
    -- cycle;

% upper left pseudo triangle
\path[fill=magenta!50] (0:0) 
    arc[start angle=60, end angle=120, radius=1]
    arc[start angle=180, end angle=240, radius=1]
    arc[start angle=180, end angle=120, radius=1]
    -- cycle;

% upper right pseudo triangle
\path[fill=yellow!50] (0:0) 
    arc[start angle=120, end angle=60, radius=1]
    arc[start angle=360, end angle=300, radius=1]
    arc[start angle=0, end angle=60, radius=1]
    -- cycle;

% lower pseudo triangle
\path[fill=cyan!50, draw, thick] (240:1) 
    arc[start angle=240, end angle=300, radius=1]
    arc[start angle=360, end angle=300, radius=1]
    arc[start angle=240, end angle=180, radius=1]
    -- cycle;

\end{tikzpicture} \end{document}

enter image description here

  • I am always amazed by the imagination of the creators and users of latex... – ivo Welch Jun 14 '23 at 21:01
  • Is it easy to enter text in the center of each of these segments? – ivo Welch Jun 14 '23 at 21:13
  • 1
    @ivoWelch You can just place some nodes, for example using \begin{scope}[shift={(270:0.5)}] \node at (90:1) {A}; \node at (210:1) {B}; \node at (330:1) {C}; \node at (30:0.75) {D}; \node at (150:0.75) {E}; \node at (270:0.75) {F}; \node at (0:0) {G}; \end{scope}. – Jasper Habicht Jun 14 '23 at 22:02