为什么我的第 9 个节点的位置不正确?我尝试更改流程图,但出现编译时错误:
\begin{figure}[!h]
\centering
\begin{tikzpicture}[node distance=2.4cm] % hiệu chỉnh khoảng cách giữa các node
\small
\node (io) [startstop] {Begin};
\node (1) [io, below of=io] {Nhận dữ liệu tọa độ nugời dùng \(i\)};
\node (2) [process, below of=1,yshift=-0.5cm] {Dùng hàm kmeans chia thành i cụm (i=minicum,...
..,maxicum)};
\node (3) [process, below of =2] { Nhận được tọa độ i UAV cụm và sumd};
\node (4) [process, below of=3] {sum\_dist
= sum(sumd)};
\node (5) [process, below of=4] {sum\_dist2
=sum(d)};
\node (6) [process, below of=5]{obj=sum\_dist
+sum\_dist2};
\node (7) [decision, below of=6] {i=
maxicum};
\node (8) [process, below of=7] {Tìm min của obj};
\node (9) [process, right of 8] {obj};
\end{tikzpicture}
\caption{Lưu đồ giải thuật để số UAV cụm }
\label{fig:timUAVcANN}
\end{figure}
答案1
您可能喜欢以下绘制流程图的方式:
\documentclass[11pt, margin=3mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
chains,
positioning,
quotes,
shapes.geometric}
\begin{document}
\begin{tikzpicture}[
node distance = 6mm and 12mm,
start chain = A going below,
arr/.style = {-Straight Barb},
%
base/.style = {draw, semithick, text width=44mm, minimum height=8mm,
align=center, font=\small},
startstop/.style = {base, rounded corners},
process/.style = {base},
io/.style = {base, trapezium, trapezium stretches body,
trapezium left angle=70, trapezium right angle=110},
decision/.style = {base, diamond, aspect=2, inner xsep=-3pt},
every edge quotes/.style = {auto=right, font=\small}
]
\begin{scope}[nodes={on chain=A, join=by arr}]
\node [startstop] {Begin}; % A-1
\node [io] {Nhận dữ liệu tọa độ nugời dùng \(i\)};
\node [process] {Dùng hàm kmeans chia thành i cụm (i=minicum,\dots , maxicum)};
\node [process] {Nhận được tọa độ i UAV cụm và sumd};
\node [process] {sum\_dist = sum(sumd)};
\node [process] {sum\_dist2 =sum(d)};
\node [process] {obj=sum\_dist +sum\_dist2};
\node [decision] {i = maxicum};
\node [process] {Tìm min của obj}; % A-8
\end{scope}
\node (A-10) [process, right=of A-8] {obj};
% arrows not drawn by join macro
\path (A-8) to ["Y"] (A-9);
\draw[arr] (A-8) to ["N" '] (A-10);
\end{tikzpicture}
\end{document}