两个并排的流程图(tikz 流程图),每个流程图都有框和标签

两个并排的流程图(tikz 流程图),每个流程图都有框和标签

我需要使用 TikZ 绘制两个流程图,每个流程图周围都有一个框和一个标签。我是 Tikz 库的新手,我看过关于图片、表格和图形的类似问题。他们建议使用minipagescopeFigure。我尝试使用它们,但似乎我遗漏了一些东西。我找到了答案这里由@发布报告格式,建议使用positioningtikzlibrary。我不明白我遗漏了什么。

以下是我所做的:

\documentclass{article}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}
%\pagestyle{empty}
\begin{figure}
% % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % define shapes % % % % % % % % % % %
% % % % % % % % % % % % % % % % % % % % % % % % %
\tikzstyle{block}    = [rectangle, rounded corners,  minimum width=3cm, 
 minimum height=1cm, text centered, draw, fill=blue!20, text width=5cm]
\tikzstyle{cloud}    = [rounded corners,  minimum width=3cm, minimum 
 height=1cm, text centered, draw, ellipse,fill=blue!20, text width=2cm]
 \tikzstyle{line} = [draw, -latex']
 % % % % % % % % % % % % % % % % % % %
 % % % % % %  1st Chart    % %%  % % %   
 % % % % % % % % % % % % % % % % % % %
 %\begin{minipage}[b][5cm][s]{.15\textwidth}
\begin{tikzpicture}[node distance =5mm and 8mm ]
%\begin{tikzpicture}[scale=-1.2,line width=1pt]
 % Place nodes
\node [block] (init) {Process1 and long description };
\node [cloud, above =of init] (input1) {Input1};
\node [cloud, left= of init] (input2) {Input2};
\node [block, below= of init] (Process2) {Process 2 and description};
\node [block, below=of Process2] (Process3) {Process 3 and description};
\node [block, below =of Process3] (Process4) {Process 4  and description};
% Draw edges
\path [line] (init) -- (Process2);
\path [line] (Process2) -- (Process3);
\path [line] (Process3) -- (Process4);
\path [line,dashed] (input1) -- (init);
\path [line,dashed] (input2) -- (init);
\end{tikzpicture}
%\end{minipage}
\qquad
 % % % % % % % % % % % % % % % % % % %
 % % % % % %  2nd Chart  % % %  % %% %   
 % % % % % % % % % % % % % % % % % % %
%\begin{minipage}[b][1cm][s]{.15\textwidth}
\begin{tikzpicture} [node distance = 5mm and 8mm] 
 %[scale=0.2,line width=1pt]
% \begin{scope}[shift={(1,5)}]
 % Place nodes
 \node [block] (init) {Process1 Flow 2 };
 \node [block, below= of init,  node distance=0.5mm] (Process2F2) {Process2 
  Flow 2};
 \node [cloud, left= of Process2F2,node distance=1cm] (input1f2) {input 1 
  flow 2 };
 \node [block, below= of Process2F2,  node distance=0.5mm] (Process3F2) 
  {Process3 Flow 2};
  \node [cloud, right= of Process3F2,node distance=1cm] (input2f2) {input 2 
  Flow 2};
 \node [block, below=of Process3F2,node distance=1cm] (Process4F2) {Process4 
 Flow 2};
 % Draw edges
 \path [line] (init) -- (Process2F2);
 \path [line] (Process2F2) -- (Process3F2);
 \path [line] (Process3F2) -- (Process4F2);
 \path [line,dashed] (input2f2) -- (Process3F2);
 \path [line,dashed] (input1f2) -- (Process2F2);
 % % % % % % % % % % % % % % % %   
 % % % box to contain each chart % %
 % % % % % % % % % % % % % % % %  
\draw [color=gray,thick](-7,-9) rectangle (7,4);
\node at (-1.8,-9.5) [below=2cm, right=10mm] {  \textbf{flow 2 label} };
 % % % % % % % % % % % % % % % %      
%\end{scope}
\end{tikzpicture}
%\end{minipage}
\end{figure}
\end{document}

我需要将两个箱子并排摆放,并为每个箱子贴上标签。有什么建议吗?

答案1

这是一个快速建议,我很乐意删除它。

\documentclass{article}
\usepackage[showframe]{geometry}
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows,positioning}
\begin{document}
%\pagestyle{empty}
\begin{figure}
\centering
% % % % % % % % % % % % % % % % % % % % % % % % %
% % % % % % % % define shapes % % % % % % % % % % %
% % % % % % % % % % % % % % % % % % % % % % % % %
\tikzset{block/.style={rectangle, rounded corners,  text width=1.5cm, 
 minimum height=1cm, text centered, draw, fill=blue!20},
cloud/.style={rounded corners, inner sep=-4pt,  minimum 
 height=1cm, text centered, draw, ellipse,fill=blue!20, text width=2cm},
line/.style={draw, -latex'}}%
 % % % % % % % % % % % % % % % % % % %
 % % % % % %  1st Chart    % %%  % % %   
 % % % % % % % % % % % % % % % % % % %
 %\begin{minipage}[b][5cm][s]{.15\textwidth}
\begin{tikzpicture}[node distance =5mm and 4mm ]
%\begin{tikzpicture}[scale=-1.2,line width=1pt]
 % Place nodes
\begin{scope}[local bounding box=left]
 \node [block] (init) {Process1 and long description };
 \node [cloud, above =of init] (input1) {Input1};
 \node [cloud, left= of init] (input2) {Input2};
 \node [block, below= of init] (Process2) {Process 2 and description};
 \node [block, below=of Process2] (Process3) {Process 3 and description};
 \node [block, below =of Process3] (Process4) {Process 4  and description};
 % Draw edges
 \path [line] (init) -- (Process2);
 \path [line] (Process2) -- (Process3);
 \path [line] (Process3) -- (Process4);
 \path [line,dashed] (input1) -- (init);
 \path [line,dashed] (input2) -- (init);
\end{scope}
\draw[color=gray,thick](left.south west) rectangle (left.north east);
\node[anchor=north,font=\bfseries] at ([yshift=-2em]left.south) {flow 1 label};

 % % % % % % % % % % % % % % % % % % %
 % % % % % %  2nd Chart  % % %  % %% %   
 % % % % % % % % % % % % % % % % % % %
%\begin{minipage}[b][1cm][s]{.15\textwidth}
\begin{scope}[local bounding box=right,xshift=6cm] 
 %[scale=0.2,line width=1pt]
% \begin{scope}[shift={(1,5)}]
 % Place nodes
 \node [block] (init) {Process1 Flow 2 };
 \node [block, below= of init,  node distance=0.5mm] (Process2F2) {Process2 
  Flow 2};
 \node [cloud, left= of Process2F2,node distance=1cm] (input1f2) {input 1 
  flow 2 };
 \node [block, below= of Process2F2,  node distance=0.5mm] (Process3F2) 
  {Process3 Flow 2};
  \node [cloud, right= of Process3F2,node distance=1cm] (input2f2) {input 2 
  Flow 2};
 \node [block, below=of Process3F2,node distance=1cm] (Process4F2) {Process4 
 Flow 2};
 % Draw edges
 \path [line] (init) -- (Process2F2);
 \path [line] (Process2F2) -- (Process3F2);
 \path [line] (Process3F2) -- (Process4F2);
 \path [line,dashed] (input2f2) -- (Process3F2);
 \path [line,dashed] (input1f2) -- (Process2F2);
 % % % % % % % % % % % % % % % %   
 % % % box to contain each chart % %
 % % % % % % % % % % % % % % % %  
 % % % % % % % % % % % % % % % %      
\end{scope}
\draw[color=gray,thick](right.south west) rectangle (right.north east);
\node[anchor=north,font=\bfseries] at ([yshift=-2em]right.south) {flow 2 label};
\end{tikzpicture}
%\end{minipage}
\end{figure}
\end{document}

在此处输入图片描述

shoframe只是为了表明它适合而添加的。

相关内容