You can use something like
\fill [red!40] (1.center) -- (1.0) arc[start angle=0,delta angle=360*0.6,radius=1em] -- cycle;
Here 1.0
is the same as 1.east
, the 0
indicates degrees. The radius of the arc
is set to half the minimum size
of the node
.
The backgrounds
library helps you with drawing the fill behind the node itself.

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\tikzset{
bus/.style={draw, circle, minimum size=2em,inner sep=0pt},
busg/.style={draw, circle, minimum size=2em,inner sep=0pt,color=red}
}
\usetikzlibrary{positioning,backgrounds}
\begin{document}
\begin{tikzpicture}[]
\node [busg] (1) {1};
\node [bus, above=8em of 1] (5) {5};
\node [busg, right=3em of 1] (2) {2};
\draw (1) -- (5);
\draw (1) -- (2);\fill [red!40] (1.center) -- (1.0) arc[start angle=0,delta angle=360*0.6,radius=1em] -- cycle;
\begin{scope}[on background layer]
\fill [red!40] (1.center) -- (1.0) arc[start angle=0,delta angle=360*0.6,radius=1em] -- cycle;
\fill [red!40] (2.center) -- (2.0) arc[start angle=0,delta angle=360*0.3,radius=1em] -- cycle;
\end{scope}
\end{tikzpicture}
\end{document}
For convenience one can wrap it in a macro, and include a calculation of the node/arc radius:
\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\tikzset{
bus/.style={draw, circle, minimum size=2em,inner sep=0pt},
busg/.style={draw, circle, minimum size=2em,inner sep=0pt,color=red}
}
\usetikzlibrary{positioning,backgrounds,calc}
\newcommand\NodePie[4][red!40]{%
% optional argument #1: fill color
% #2: node name
% #3: start angle
% #4: fraction (e.g. 0.3 for 30%)
\fill let
\p1=(#2.center), \p2=(#2.east), \n1={veclen(\x2-\x1,0)}
in
[#1] (#2.center) -- (#2.#3) arc[start angle=#3,delta angle=360*#4,radius=\n1] -- cycle;
}
\begin{document}
\begin{tikzpicture}[]
\node [busg] (1) {1};
\node [bus, above=8em of 1] (5) {5};
\node [busg, right=3em of 1] (2) {2};
\draw (1) -- (5);
\draw (1) -- (2);
\begin{scope}[on background layer]
\NodePie{1}{0}{0.6}
\NodePie[blue!30]{2}{30}{0.3}
\end{scope}
\end{tikzpicture}
\end{document}