在 Tikz 上绘制双边交易图

在 Tikz 上绘制双边交易图

我正在尝试使用 Tikz 在 Latex 上绘制以下图表:

在此处输入图片描述

我想要图的标题位于下方。

我一直在使用以下代码:

\begin{figure}
\centering
\begin{tikzpicture}[>=latex] 
\node[mybox] (Adam) [below left =of Charlie, fill=red!30] {\textbf{Adam}\\ Wants morning bread}edge [->] node[left=10pt,name=CA] {Strawberries} (Charlie) ;
\node[mybox] (Betty) [below right =of Charlie, fill=blue!30] {\textbf{Betty}\\ Wants afternoon bread}edge [->] node[below=10pt,name=AB] {Tangerines} (Adam) edge[<-] node[right=10pt,name=BC] {Apples} (Charlie) ;
\end{tikzpicture}
\caption{Lack-of-double-coincidence-of-wants problem}

但我得到了这个输出:

在此处输入图片描述

因此,如果能告诉我如何绘制上图,我将不胜感激。图的标题很好,因为我更喜欢它在下面。

答案1

我觉得如果你发布一个完整的最小工作示例,并参考你打算继续使用的早期帖子,你会更好。这个答案提供了工作代码和链接(如果有人说使用引号会让事情变得简单得多:请谨慎对待这种说法 ;-)。我添加了两个版本,一个带有直箭头,一个带有弯箭头(我个人更喜欢),并且还稍微修改了mybox样式这个答案

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,shapes.misc}
\tikzset{% from https://tex.stackexchange.com/a/514738/194703
    mybox/.style={rounded rectangle,draw=black,align=center,inner ysep=1ex,
    execute at begin node=\strut},
}
\begin{document}
\begin{figure}[htb]
\centering
\begin{tikzpicture}[>=latex,font=\sffamily] 
\node[mybox] (Adam)  {\textbf{Adam}\\ Wants morning bread};
\node[mybox] (Betty) [right =of Adam, fill=blue!30] 
    {\textbf{Betty}\\ Wants afternoon bread}
([yshift=-1.2em]Betty.west) edge[thick,->] node[below=1ex,name=BA] {Produces Night Bread} 
([yshift=-1.2em]Adam.east)  
([yshift=1.2em]Adam.east)    edge [thick,->] node[above=1ex,name=AB] {Produces
Morning Bread} 
([yshift=1.2em]Betty.west);
\end{tikzpicture}
\caption{Lack-of-double-coincidence-of-wants problem.}
\end{figure}

\begin{figure}[htb]
\centering
\begin{tikzpicture}[>=latex,font=\sffamily] 
\node[mybox] (Adam)  {\textbf{Adam}\\ Wants morning bread};
\node[mybox] (Betty) [right =of Adam, fill=blue!30] 
    {\textbf{Betty}\\ Wants afternoon bread}
([yshift=-1em]Betty.west) edge[thick,->,bend left] node[below=1ex,name=BA] {Produces Night Bread} 
([yshift=-1em]Adam.east)    
([yshift=1em]Adam.east)  edge [thick,->,bend left] node[above=1ex,name=AB] {Produces
Morning Bread} 
([yshift=1em]Betty.west);
\end{tikzpicture}
\caption{Lack-of-double-coincidence-of-wants problem.}
\end{figure}
\end{document}

在此处输入图片描述

相关内容