I have the following chart in tikz, but I'd like to adjust some problems with the arrows:
- I changed the arrow thickness proportionally to the number in the edge, but the arrow head should be according to the arrow thickness. How can I do that?
- The other end of the arrows should start from under the nodes
How should I proceed?
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, shapes.arrows, arrows, chains, positioning, automata, backgrounds,patterns,fit,petri,arrows.meta,calc}
\begin{document}
\begin{figure}[htb]
\centering
\label{fig:order}
\footnotesize
\begin{tikzpicture}[align=center,initial text = {},node distance=1cm and 1cm,every edge/.style={thick,draw}]
\tikzstyle{place}=[shape=rectangle, rounded corners, align=center,draw=black,fill=black!5]
\node [place,initial,minimum height=1cm] (start) {Start};
\node [place,right=of start] (extraction) {Extraction};
\node [place,right=of extraction] (evaluation) {Evaluation};
\node [place,right=of evaluation, yshift=1cm] (filtering) {Filtering};
\node [place,above=of filtering] (enrichment) {Correction/\\enrichment};
\node [place,right=of filtering, yshift=1cm] (enrichment2) {Correction/\\enrichment};
\node [place,below=of enrichment2] (evalcorrec) {Evaluation and\\correction/\\enrichment};
\node [place,below=of evalcorrec] (concurrently) {Filtering and\\ correction/\\enrichment};
\node [place,above=of enrichment2] (filtering2) {Filtering};
\node [place,accepting,right=of evalcorrec,minimum height=8cm] (end) {end};
\path(filtering2)-|node (f2_end) {}(end.west);
\path(enrichment)-|node (e_end) {}(end.west);
\path(enrichment2)-|node (e2_end) {}(end.west);
\path(filtering)-|node (f_end) {}(end.west);
\path(concurrently)-|node (c_end) {}(end.west);
\draw[-{Latex[length=2.15mm]}] (start) edge[line width=6.125mm] node[above] {125}(extraction);
\draw[-{Latex[length=2.15mm]}] (extraction) edge[line width=4.1mm] node[above] {82}(evaluation) edge[bend right, line width=2.15mm] node[below] {43}(end.south west);
\draw[-{Latex[length=2mm]}] (evaluation) edge[line width=1.05mm] node[above] {21}(filtering) edge[bend right,line width=.5mm] node[above] {10}($(end.west)+(0,-3)$) edge[line width=2.45mm] node[above] {49}(enrichment) edge[line width=0.1mm] node[above] {2}(concurrently);
\draw[-{Latex[length=2mm]}] (enrichment) edge[line width=0.05mm] node[above] {1}(filtering2) edge[line width=2.4mm] node[above] {48}(e_end);
\draw[-{Latex[length=2mm]}] (concurrently) edge[line width=0.1mm] node[above] {2}(c_end);
\draw[-{Latex[length=2mm]}] (filtering) edge[line width=0.2mm] node[above] {4}(enrichment2) edge[line width=0.05mm] node[above] {1}(evalcorrec) edge[line width=0.8mm] node[above] {16}(f_end);
\draw[-{Latex[length=2mm]}] (filtering2) edge[line width=0.05mm] node[above] {1}(f2_end);
\draw[-{Latex[length=2mm]}] (enrichment2) edge[line width=0.2mm] node[above] {4}(e2_end);
\draw[-{Latex[length=2mm]}] (evalcorrec) edge[line width=0.05mm] node[above] {1}(end.west);
\end{tikzpicture}
\end{figure}
\end{document}



arrowsandarrows.metato draw arrows. The latter in enough and is the prefered one, nowadays. You'll have to look for some explanations on how to use it but it's very versatile. See a full answer and links here. – SebGlav Sep 22 '21 at 11:57