Проблема с созданием узлов внутри двух кругов с пересечением в LATEX с помощью tikz

Я сделал социальный граф, как вы можете видеть ниже, но не смог придумать способ сделать узлы внутри двух кругов, в которых узлы в середине (F, D, K, M) расположены на пересечении два круга.

И есть ли простой способ обозначить левый круг, правый круг и пересечение?

Вот код и большое спасибо заранее:

\begin{tikzpicture}
\begin{scope}[every node/.style={circle,thick,draw}]
    \node (A) at (0,0) {A};
    \node (B) at (0,3) {B};
    \node (C) at (2,3) {C};
    \node (E) at (1,-1.5) {E};
    \node (G) at (1,1.5) {G};

    \node (F) at (5,2) {F} ;
    \node (D) at (4,1) {D};
    \node (K) at (5,0) {K};
    \node (M) at (4,-1) {M};

    \node (H) at (8.5,0) {H};
    \node (I) at (9,2.5) {I};
    \node (J) at (8,1.5) {J};
    \node (N) at (7.5,-1.5) {N};
    \node (L) at (7,3) {L} ;
    \node (Q) at (9.5,1) {Q} ;
\end{scope}

\begin{scope}[>={Stealth[black]},
    every node/.style={fill=white,circle},
    every edge/.style={draw=red,very thick}]
    \draw (A) -> (G);
    \draw (B) -- (A);
    \draw (B) -- (C);
    \draw (B) -- (G);
    \draw (E) -- (G);
    \draw (E) -- (A);
    \draw (G) -- (C);
    \draw (L) -- (I);
    \draw (H) -- (J);
    \draw (Q) -- (H);
    \draw (I) -- (J);
    \draw (N) -- (H);
    \draw (Q) -- (J);

    \draw (A) -> (D);
    \draw (E) -- (M);
    \draw (E) -- (D);
    \draw (G) -- (D);
    \draw (G) -- (F);
    \draw (C) -- (F);
    \draw (C) -- (M);
    \draw (N) -- (K);
    \draw (N) -- (F);
    \draw (N) -- (M);
    \draw (L) -- (F);
    \draw (J) -- (F);
    \draw (H) -- (F);
\end{scope}
\end{tikzpicture}

ОБНОВИТЬ:

После того, как я добавил эти 2 строки:

\ нарисуйте (2,0,7) круг (4см);

\ нарисуйте (7,0,7) круг (4см); Я получаю это:  введите описание изображения здесь

Мне осталось только раскрасить перекресток, поэтому ниже этих двух строк я добавил:

% \ нарисуйте окружность клипа (4см);

% \ fill [серый] (2,0,7) круг (4 см);

Что выполнило свою работу, но один из кругов скрывает свои узлы !! введите здесь описание изображения

Какие-либо предложения??


person Aadil    schedule 16.03.2018    source источник


Ответы (1)


Я думаю, это то, что вы ищете:

\begin{tikzpicture}

\begin{scope}
    \draw (2,0.7) circle (4cm);
    \clip (7,0.7) circle (4cm);
    \fill[gray] (2,0.7) circle (4cm);
    \draw (7,0.7) circle (4cm);
\end{scope}

\node[below=4.5cm of circle1] {Circle 1};
\node[below=4.5cm of circle2] {Circle 2};
\node[below=4cm of circle1,xshift=2.5cm] {Intersection};

\begin{scope}[every node/.style={circle,thick,draw}]
    \node (A) at (0,0) {A};
    \node (B) at (0,3) {B};
    \node (C) at (2,3) {C};
    \node (E) at (1,-1.5) {E};
    \node (G) at (1,1.5) {G};

    \node (F) at (5,2) {F} ;
    \node (D) at (4,1) {D};
    \node (K) at (5,0) {K};
    \node (M) at (4,-1) {M};

    \node (H) at (8.5,0) {H};
    \node (I) at (9,2.5) {I};
    \node (J) at (8,1.5) {J};
    \node (N) at (7.5,-1.5) {N};
    \node (L) at (7,3) {L} ;
    \node (Q) at (9.5,1) {Q} ;
\end{scope}

\begin{scope}[>={Stealth[black]},
    every node/.style={fill=white,circle},
    every edge/.style={draw=red,very thick}]
    \draw (A) -> (G);
    \draw (B) -- (A);
    \draw (B) -- (C);
    \draw (B) -- (G);
    \draw (E) -- (G);
    \draw (E) -- (A);
    \draw (G) -- (C);
    \draw (L) -- (I);
    \draw (H) -- (J);
    \draw (Q) -- (H);
    \draw (I) -- (J);
    \draw (N) -- (H);
    \draw (Q) -- (J);

    \draw (A) -> (D);
    \draw (E) -- (M);
    \draw (E) -- (D);
    \draw (G) -- (D);
    \draw (G) -- (F);
    \draw (C) -- (F);
    \draw (C) -- (M);
    \draw (N) -- (K);
    \draw (N) -- (F);
    \draw (N) -- (M);
    \draw (L) -- (F);
    \draw (J) -- (F);
    \draw (H) -- (F);
\end{scope}
\end{tikzpicture}

введите здесь описание изображения

Не видя, как вы добавили клип и инструкции по заполнению, я не могу сказать вам, что не так.

person pchaigno    schedule 16.03.2018
comment
Спасибо за ответы, но я не это имел в виду. Я имел в виду узлы, помещенные внутри круга. Я обновил свой код, который решил большую часть того, что я ищу. Пожалуйста, посмотрите - person Aadil; 18.03.2018
comment
Итак, нужно было заказать мой код !! это имеет смысл. Спасибо - person Aadil; 19.03.2018
comment
Вы знаете, как лучше всего поставить метку под перекрестком? - person Aadil; 19.03.2018
comment
Я обновил код, добавив метки под каждым набором узлов. - person pchaigno; 19.03.2018