网络中节点旁边的进度条

网络中节点旁边的进度条

在网络图中,在节点旁边添加进度条式项目的最佳方法是什么?这个想法是,节点与 $[0,1]$ 中的某个数量相关联,这些数量会随着迭代而变化,我希望以视觉方式描述,就像这样:

在此处输入图片描述

当然,一个想法是在每个节点旁边绘制一个条形图,但我想知道这是否有点过度,可能还有更好的选择。

答案1

像这样吗?

\documentclass[tikz,border=3,14159]{standalone}
\usetikzlibrary{calc}

\begin{document}
    \begin{tikzpicture}[mynode/.style={circle, draw, minimum width=1cm},node distance=2cm]
        \newcommand{\progbar}[2]
            {
            \def\h{1}
            \def\l{0.3}
            \fill[red] ($(#1)-(0.5*\l,0)$) rectangle ++ (\l,#2*0.01*\h);
            \draw ($(#1)-(0.5*\l,0)$) rectangle ++ (\l,\h);
            \node[above] at ($(#1)+(0,\h)$) {#2\,\%};
            }
            
        
        \node[mynode] (1) {1};
        \node[mynode,right of=1] (2) {2};
        \draw[-stealth] (1)--(2);
        
        \coordinate[left=1cm] (A) at (1.south);
        \coordinate[right=1cm] (B) at (2.south);
        
        \def\va{25} %<--------- define here the value for node 1
        \progbar{A}{\va};
        \pgfmathtruncatemacro\vb{100-\va}
        \progbar{B}{\vb};
    \end{tikzpicture}
\end{document}

节点旁边的 progbar

编辑
如果您想以十进制形式查看数字(如果您谈论的是概率,这很有意义),则需要进行一些调整:

\documentclass[tikz,border=3,14159]{standalone}
\usetikzlibrary{calc}

\begin{document}
    \begin{tikzpicture}[mynode/.style={circle, draw, minimum width=1cm},node distance=2cm]
        \newcommand{\progbar}[2]
            {
            \def\h{1}
            \def\l{0.3}
            \fill[red] ($(#1)-(0.5*\l,0)$) rectangle ++ (\l,#2*0.01*\h);
            \draw ($(#1)-(0.5*\l,0)$) rectangle ++ (\l,\h);
            \pgfkeys{/pgf/number format/.cd,fixed,precision=2}
            \pgfmathparse{0.01*#2}\edef\storeresult{\pgfmathresult}%
            \node[above] at ($(#1)+(0,\h)$) {\pgfmathprintnumber\storeresult};
            }
            
        
        \node[mynode] (1) {1};
        \node[mynode,right of=1] (2) {2};
        \draw[-stealth] (1)--(2);
        
        \coordinate[left=1cm] (A) at (1.south);
        \coordinate[right=1cm] (B) at (2.south);
        
        \def\va{84} %<--------- define here the value for node 1
        \progbar{A}{\va};
        \pgfmathtruncatemacro\vb{100-\va}
        \progbar{B}{\vb};
    \end{tikzpicture}

\end{document}

程序栏 v2

相关内容