0

enter image description here

I want to draw graph like the above image.
I've saw how to label inside vertex, and how to label outside vertex, but how do I label both inside and outside?

1 Answers1

2

You can use a node with a label=above:$r$ or label=below:$V$, but in this case a matrix may be a better choice.

\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
 \matrix[matrix of math nodes,row sep=0.5ex,column sep=1.5em,
    row 2/.style={nodes={circle,draw},row sep=1.5em},
    row 3/.style={nodes={circle,draw}}] (m){
     r & s & t & u \\
     \infty & |[fill=gray!20]|0 & \infty & \infty \\
     \infty & \infty & \infty & \infty \\
     V & W & X & Y \\    
    };
 \draw (m-3-1) -- (m-2-1) -- (m-2-2) -- (m-3-2) edge (m-2-3)
  -- (m-3-3) edge (m-2-4)-- (m-3-4) -- (m-2-4) -- (m-2-3) -- (m-3-3);   
\end{tikzpicture}
\end{document}

enter image description here