This is one possible solution: the only library needed is patterns.
When one defines:
\node [
pattern=north east lines,
left color=orange,
right color=yellow,
] (<name>) at (<some where>) {<text>};
or
\node [
left color=orange,
right color=yellow,
pattern=north east lines] (<name>) at (<some where>) {<text>};
the problem is that the pattern is overridden by the shading. Thus, one possibility is to define a style exploiting the path picture which allows to mix the shading and the pattern; for example:
my pattern/.style args={#1 colored by #2}{%
path picture={
\node[pattern=#1,pattern color=#2] at (path picture bounding box.center) {};
}
},
In such a way, the definition of:
\node [
my pattern=<some pattern> colored by <some color>,
left color=orange,
right color=yellow,
] (<name>) at (<some where>) {<text>};
or
\node [
left color=orange,
right color=yellow,
my pattern=<some pattern> colored by <some color>
] (<name>) at (<some where>) {<text>};
both work. Moreover, the solution allows to easily select the gradient style to fill the node; the keys:
\pgfkeys{/tikz/.cd,
gradient style init/.initial=left color,
gradient style init/.get=\grsi,
gradient style init/.store in=\grsi,
gradient style end/.initial=right color,
gradient style end/.get=\grse,
gradient style end/.store in=\grse,
}
are devoted to the type choice and the style
my gradient/.style args={#1 and #2}{%
\grsi=#1,
\grse=#2,
},
to the color choice.
The code:
\documentclass[tikz,border=2pt,png]{standalone}
\usepackage{tikz}
\usetikzlibrary{patterns}
\pgfkeys{/tikz/.cd,
gradient style init/.initial=left color,
gradient style init/.get=\grsi,
gradient style init/.store in=\grsi,
gradient style end/.initial=right color,
gradient style end/.get=\grse,
gradient style end/.store in=\grse,
}
\tikzset{
block/.style = {circle, draw,
text width=1em,align=center,inner sep=0pt},
my pattern/.style args={#1 colored by #2}{%
path picture={
\node[pattern=#1,pattern color=#2] at (path picture bounding box.center) {};
}
},
my gradient/.style args={#1 and #2}{%
\grsi=#1,
\grse=#2,
},
}
\begin{document}
\begin{tikzpicture}
\node [minimum size=1.75cm,
block,
my pattern=north east lines colored by blue!50,
my gradient=orange!60 and yellow!40] (s1) {1};
% Changing gradient style
\tikzset{gradient style init=top color,
gradient style end=bottom color}
\node [minimum size=1.5cm,
right of=s1,
block,
my pattern=north west lines colored by blue!60,
my gradient=white and green!50] (s2) at (s1.east) {2};
% Changing gradient style
\tikzset{gradient style init=inner color,
gradient style end=outer color}
\node [minimum size=1.25cm,
right of=s2,
block,
my pattern=crosshatch dots colored by magenta!60,
my gradient=violet!50!magenta!25 and violet!50!magenta!5] (s3) at (s2.east) {3};
\end{tikzpicture}
\end{document}
The result:

clipping a pathin the TikZ manual – Lionel MANSUY Feb 21 '13 at 08:43