To highlight part of a graph for a presentation that I'm writing, I would like to "circle" an area and make semitransparent everything outside that area. Anything inside that area should remain opaque. Is there a way to accomplish this inside TikZ?
As an example, in the following picture, I would like to make nodes a and c semitransparent, as well as the fraction of the edge from a to b that lies outside the circle.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[vertex/.style={draw, fill={#1}}]
\node (a) [vertex=blue] {};
\node (b) [vertex=blue, right=of a] {};
\node (c) [vertex=green, right=of b] {};
\draw (a) edge (b);
\draw [red] (b) circle [radius=0.75];
\end{tikzpicture}
\end{document}
Of course, I could always accomplish this by manually making the desired pieces transparent, but for a complex picture it would be better to use some kind of clipping. I've read through the manual and vaguely understand clipping and transparency, but I don't see how to put those keys together to get what I want.




