2

I would like to reproduce the following image with tikz pgf, but I am unsure how to do so:

enter image description here

I am terribly sorry for the lackluster drawing, I have little knowledge with tikz pgf because I am new to such a thing. I looked at this website, but could not model my diagram after the ones provided due to the complexity of the diagrams. Could someone help me create such a diagram with the legend? Thank you so much!

EDIT:

    \documentclass[tikz, margin=3mm]{standalone}
    \usetikzlibrary{arrows.meta}
    
    \begin{document}
        \begin{center}
     \resizebox{11cm}{7.5cm}{%
     \begin{tikzpicture}[
C/.style = {circle, draw, thick, minimum size=3.4em, inner sep=1pt},
arr/.style = {-Triangle, semithick, color=#1, shorten >=2pt, shorten <=2pt},
state/.style={circle, thick, draw=blue!75, fill=blue!20, minimum size=6mm}
                        ]
\node (c0) [C]  at (  0:2.4) {$\frac{1}{1-x}$};
\node (c1) [state]  at ( 60:2.4) {$1-x$};
\node (c2) [C]  at (120:2.4) {$x$};
\node (c3) [state]  at (180:2.4) {$\frac{1}{x}$};
\node (c4) [C]  at (240:2.4) {$1-\frac{1}{x}$};
\node (c5) [C]  at (300:2.4) {$\frac{x}{x-1}$};
%
\foreach \i in {0,2,4}
{
\pgfmathsetmacro{\j}{int(\i+1)}
\draw[arr=teal] (c\i) edge [bend left] (c\j)
                (c\j)  to  [bend left] (c\i);
}
\path[draw=teal, very thick] 
    ([shift={(-2.5,0.5)}] c2.west) node[right] {$g(x)=\frac{1}{x}$} -- ++ (-0.5,0);
%
\foreach \i in {1,3,5}
{
\pgfmathsetmacro{\j}{int(Mod(\i+1,6))}
\draw[arr=orange]   (c\i) edge [bend left] (c\j)
                    (c\j)  to  [bend left] (c\i);
}
\path[draw=orange, very thick] 
    ([shift={(-2.5,0.0)}] c2.west) node[right] {$f(x)=1-x$} -- ++ (-0.5,0);
    \end{tikzpicture}
} 
\end{center}
    \end{document}

I made minor changes to the legend, the size to fit a page and the color. However, one of the blue circles is not uniform (comes from the state/.style), and I am unsure what to do. Thanks!

3
  • something like this with smartdiagram -- tex.stackexchange.com/a/557710/197451
    – js bibra
    Oct 1, 2020 at 0:59
  • Thanks! However, is it possible to do without smartdiagram? I tend to like tikz pgf a little more.
    – user204915
    Oct 1, 2020 at 1:22
  • What you try so far?
    – Zarko
    Oct 1, 2020 at 3:59

1 Answer 1

7
\documentclass[tikz, margin=3mm]{standalone}
\usetikzlibrary{arrows.meta}

\begin{document}
    \begin{tikzpicture}[
C/.style = {circle, draw, thick, minimum size=3.4em, inner sep=1pt},
arr/.style = {-Triangle, semithick, color=#1, shorten >=2pt, shorten <=2pt}
                        ]
\node (c0) [C]  at (  0:2.4) {$\frac{1}{1-x}$};
\node (c1) [C]  at ( 60:2.4) {$1-x$};
\node (c2) [C]  at (120:2.4) {$x$};
\node (c3) [C]  at (180:2.4) {$\frac{1}{x}$};
\node (c4) [C]  at (240:2.4) {$1-\frac{1}{x}$};
\node (c5) [C]  at (300:2.4) {$\frac{x}{x-1}$};
%
\foreach \i in {0,2,4}
{
\pgfmathsetmacro{\j}{int(\i+1)}
\draw[arr=teal] (c\i) edge [bend left] (c\j)
                (c\j)  to  [bend left] (c\i);
}
\path[draw=teal, very thick] 
    ([shift={(-1.5,0.5)}] c2.west) node[right] {$g(x)$} -- ++ (-0.5,0);
%
\foreach \i in {1,3,5}
{
\pgfmathsetmacro{\j}{int(Mod(\i+1,6))}
\draw[arr=orange]   (c\i) edge [bend left] (c\j)
                    (c\j)  to  [bend left] (c\i);
}
\path[draw=orange, very thick] 
    ([shift={(-1.5,0.0)}] c2.west) node[right] {$f(x)$} -- ++ (-0.5,0);
    \end{tikzpicture}
\end{document}

enter image description here

3
  • With the thickness of the larger circumferences the design will, in my humble opinion, take on a better appearance.
    – Sebastiano
    Oct 1, 2020 at 21:37
  • 1
    @Sebastiano, some details on images, as thickness, I left to OP. I should not be too hard to change them to desired appearance :-)
    – Zarko
    Oct 1, 2020 at 23:29
  • Zarko thank you very much for your feedback...on my comment. All the best.
    – Sebastiano
    Oct 2, 2020 at 11:18

You must log in to answer this question.