简单的 TikZ 图表 - 具有多个控件的曲线

简单的 TikZ 图表 - 具有多个控件的曲线

我正在尝试在 TikZ 中绘制下图:

所需的 TikZ 图

我编写了以下代码,但我不确定如何为 P1 和 P3 绘制两条曲线:

\documentclass[11pt,a4paper]{report}

\usepackage[USenglish]{babel} 
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern} 

\usepackage{tikz}
\usetikzlibrary{positioning,fit,backgrounds}

\begin{document}

\title{Test}
\author{Thomas Offer}
\date{\today}
\begin{figure}[h!]
\centering
\begin{tikzpicture}[scale=1,thick,main node/.style={rectangle,draw,minimum width=2cm,minimum height=2cm}]
    \node[main node,label=below:$M_1$] (M1) at (3,2) {};
    \node[main node,label=below:$M_2$] (M2) at (7,2) {};
    \node[main node,label=below:$M_3$] (M3) at (11,2) {};
    \draw[->] (0,2) node[left] {$P_2$} -- (14,2);
\end{tikzpicture}
\caption{Tikz test picture}
\end{figure}
\end{document}

我尝试使用带控件的绘制,但无济于事。任何帮助都值得感激!

答案1

一个选项可能是curve through来自hobbytikzlibrary。

需要根据你的喜好调整曲线的示例

\documentclass[11pt,a4paper]{report}

\usepackage[USenglish]{babel} 
\usepackage[T1]{fontenc}
\usepackage[ansinew]{inputenc}
\usepackage{lmodern} 


\usepackage{tikz}
\usetikzlibrary{positioning,fit,backgrounds,hobby}

\begin{document}

\title{Test}
\author{Thomas Offer}
\date{\today}
\begin{figure}[h!]
\centering
\begin{tikzpicture}[scale=1,thick,main node/.style={rectangle,draw,minimum width=2cm,minimum height=2cm}]
    \node[main node,label=below:$M_1$] (M1) at (3,2) {};
    \node[main node,label=below:$M_2$] (M2) at (7,2) {};
    \node[main node,label=below:$M_3$] (M3) at (11,2) {};
    \draw[->] (0,2) node[left] (P2) {$P_2$} -- (14,2);
    \node[below=2cm of P2] (P3){$P3$};
    \node[above=2cm of M1] (P1){$P1$};
    \path (P1-|M3.north east)--++(0:2cm) coordinate (aux);
    \draw[->] (P3.north) to[curve through={ ([xshift=-5mm]M1.210)..([xshift=5mm]M1.-20) ..([xshift=5mm]M2.200) ([xshift=5mm]M2.-30)}] (P3-|M3.south west);
    \draw[->] (P1.south) to[curve through={ ([xshift=-5mm]M2.150)..([xshift=5mm]M2.20) ..([xshift=5mm]M3.160) ([xshift=5mm]M3.30)}] (aux);
\end{tikzpicture}
\caption{Tikz test picture}
\end{figure}
\end{document}

在此处输入图片描述

相关内容