如何將文字置於橢圓中心並繪製圓形節點?

如何將文字置於橢圓中心並繪製圓形節點?

我也花了很多時間在這個數字上,並且嘗試了不同類型的 tikz、pstricks 和 multido 使用包。我想創建一個圖形,如下所示:

在此輸入影像描述

我寫了以下內容:

\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}

它看起來像這樣: 在此輸入影像描述

我需要在每個橢圓和線條中放置居中文字。有人可以告訴我該怎麼做嗎?

非常感謝!

答案1

OP第一個版本中提出的解決方案1:

我把微調留給你。只需調整橢圓的高度和寬度並\begin{tikzcd}[column sep=xxx, row sep=xxx]...根據需要進行設定。如果您想更改箭頭,您可以在此網站上進行一些搜尋。各地都提供了大量的幫助。

% 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}

在此輸入影像描述


OP版本3中提出的解決方案2:

% 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}

在此輸入影像描述

答案2

原始問題的建議解決方案:

\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}

在此輸入影像描述

更新:

nodes可以是橢圓載入shapes.geometric函式庫。如果minimum widthminimum height足夠大以容納最大的內容,則所有節點將具有相似的大小。如果align定義了選項,\\則可以在節點內容內使用來換行。另一種選擇可能是定義某些text width將自動換行的選項,儘管仍然可以使用\\.

\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}

在此輸入影像描述

相關內容