¿Cómo centrar el texto en una elipse y dibujar nodos circulares?

¿Cómo centrar el texto en una elipse y dibujar nodos circulares?

También dediqué mucho tiempo a esta figura y probé diferentes tipos de tikz, pstricks y paquetes de uso múltiple. Me gustaría crear una figura que se vea así:

ingrese la descripción de la imagen aquí

He escrito lo siguiente:

\documentclass{article}
\usepackage{MinionPro}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw (10,0) ellipse (1.7cm and 0.9cm);
\draw (5,0) ellipse (1.7cm and 0.9cm);
\draw (2,-3) ellipse (1.7cm and 0.9cm);
\draw (2,3) ellipse (1.7cm and 0.9cm);
\end{tikzpicture}
\end{document}

Se parece a esto: ingrese la descripción de la imagen aquí

Necesito poner un texto centrado en las elipses y líneas a cada uno. ¿Alguien puede decirme cómo hacerlo?

¡Muchísimas gracias!

Respuesta1

Solución 1 como se solicita en la primera versión del OP:

Te dejo la puesta a punto. Simplemente adapte la altura y el ancho de las elipses y configúrelas \begin{tikzcd}[column sep=xxx, row sep=xxx]...como desee. Si desea cambiar las puntas de las flechas, realizará una búsqueda en este sitio aquí. Se brinda mucha ayuda en todas partes.

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{shapes.geometric}

\begin{document}
\begin{tikzcd}[cells={nodes={%
            ,ellipse
            ,minimum width=4cm
            ,minimum height=1cm
            ,draw
            ,align=center
            }}]
    Expectations 
    \arrow[<->, bend right,start anchor=190,end anchor=170]{dd}{D} 
    \arrow{dr}[swap]{A}
    \arrow{drr}{F}
    &[-2cm] & \\
    & Disconfirmation \arrow{r}{C} & Satisfaction\\
    Performance
    \arrow{ur}{B}
    \arrow{urr}[swap]{E}
    & &
\end{tikzcd}        
\end{document}

ingrese la descripción de la imagen aquí


Solución 2 como se solicita en la versión 3 del OP:

% arara: pdflatex

\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{shapes.geometric}

\begin{document}
    \begin{tikzcd}[cells={nodes={%
                ,ellipse
                ,minimum width=4.5cm
                ,minimum height=1.5cm
                ,draw
                ,align=center
            }}
            ,every arrow/.append style={-LaTeX, >=LaTeX}
            ,row sep=2cm
            ,column sep=2cm
            ]
            Expectations 
            \arrow[<->, bend right=50,start anchor=185,end anchor=175]{dd}{D(+)} 
            \arrow{dr}[swap]{A(-)}
            \arrow{drr}{F(\pm)}
            &[-4cm] & \\
            & (Dis)confirmation \arrow{r}{C(+)} & Satisfaction\\
            \begin{tabular}{@{}c@{}}General\\ Performance\end{tabular}
            \arrow{ur}{B(+)}
            \arrow{urr}[swap]{E(+)}
            & &
        \end{tikzcd}        
\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Solución propuesta para la pregunta original:

\documentclass[tikz,border=2mm]{standalone}
%\usepackage{MinionPro}
\usepackage{tikz}
\usetikzlibrary{positioning, shapes.geometric, arrows.meta}
\begin{document}
\begin{tikzpicture}[ball/.style={ellipse, minimum width=2cm, minimum height=1cm, draw}, >=LaTeX]
\node[ball] (dis) {Disconfirmation};
\node[ball, below left=2cm and 5mm of dis] (per) {Performance};
\node[ball, above left=2cm and 5mm of dis] (exp) {Expectations};
\node[ball, right=2cm of dis] (sat) {Satisfaction};

\draw[->] (exp) -- node [below] {A} (dis);
\draw[->] (exp) -- node [above] {F} (sat);
\draw[->] (per) -- node [above] {B} (dis);
\draw[->] (per) -- node [below] {E} (sat);
\draw[->] (dis) -- node [above] {C} (sat);
\draw[<->] (per) to [in=200,out=160] node [right] {A} (exp);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

Actualizar:

nodespueden ser elipses cargando la biblioteca formas.geométricas. Si minimum widthy minimum heightson lo suficientemente grandes como para caber en el contenido más grande, todos los nodos tendrán un tamaño similar. Si alignse define la opción, \\se puede usar dentro del contenido del nodo para romper líneas. Otra opción podría ser definir ciertos text widthque romperán líneas automáticamente, aunque aún se puede forzar con \\.

\documentclass[tikz,border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning, shapes.geometric, arrows.meta}
\begin{document}
\begin{tikzpicture}[ball/.style={ellipse, minimum width=4.5cm, 
       minimum height=1cm, align=center, draw}, >=LaTeX]
\node[ball] (dis) {Disconfirmation(Dis)confirmation};
\node[ball, below left=2cm and 5mm of dis] (per) {General Performance};
\node[ball, above left=2cm and 5mm of dis] (exp) {Expectations};
\node[ball, right=2cm of dis] (sat) {Satisfaction};

\draw[->] (exp) -- node [below][below left] {A $(-)$} (dis);
\draw[->] (exp) -- node [above][above right] {F $(\pm)$} (sat);
\draw[->] (per) -- node [above][above left] {B $(+)$} (dis);
\draw[->] (per) -- node [below][below right] {E $(+)$} (sat);
\draw[->] (dis) -- node [above] {C $(+)$} (sat);
\draw[<->] (per) to [in=200,out=160] node [right] {AD $(+)$} (exp);
\end{tikzpicture}
\end{document}

ingrese la descripción de la imagen aquí

información relacionada