# 2-dimensional gradient using PGF

I'd like to draw a square with the fill color darkening as one goes up or as one goes to the right. So, the square should be darkest in the upper-right corner and lightest in the lower-left corner. Is there a way to do this using PGF commands?

-

## 2 Answers

Such shadings are described in section 85.2 of the TikZ manual. Here's an example of what you want:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\pgfdeclareverticalshading{myshadingE}{80bp}
{color(0bp)=(white); color(80bp)=(black)}

\begin{pgfpicture}
\pgfpathrectangle{\pgfpointorigin}{\pgfpoint{3cm}{3cm}}
\pgfshadepath{myshadingE}{-45}
\pgfusepath{stroke}
\end{pgfpicture}
\end{document}


-
Thanks so much, exactly what I wanted! I was looking at an old user guide from 2004. –  arnab Jan 2 '11 at 1:30

Another possibility is using tikz commands:

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\tikz\shade[shading=axis,bottom color=black!10,top color=black,shading angle=-45]
(0,0) rectangle (3,3);
\end{document}

-
How could be set rectangle border line parameters? I tried ... (0,0) rectangle[line ...] (3,3), but error occured. –  jafan Sep 29 '12 at 12:39
@jafan: take a look at \shadedraw –  ted Jun 23 '13 at 19:21