Las propiedades del shadow hay que definirlas antes de empezar a dibujar:
Código PHP:
<canvas id="dibujo" width="250px" height="250px"></canvas>
<script>
var x = [];
var y = [];
var canvas = document.getElementById('dibujo');
var ctx = canvas.getContext('2d');
var altura = canvas.offsetHeight;
var anchura = canvas.offsetWidth;
//fondo+rectangulo
ctx.fillStyle=('RGBA(230,230,230,1)');
ctx.fillRect(0,0,anchura,altura);
ctx.strokeRect(0,0,anchura,altura);
ctx.lineWidth = 1;
x[0]=10;
y[0]=10;
//puntos
for(var i=0;i<=10;i++){
x[i+1] = x[i] + 20;
y[i+1] = y[i] + 20;
ctx.shadowOffsetX = 3;
ctx.shadowOffsetY = 3;
ctx.shadowBlur = 5;
ctx.fillStyle=('rgba(255,0,0,1)');
ctx.beginPath();
ctx.shadowColor = 'rgba(255,0,0,1)';
ctx.arc(x[i],y[i],1,0,2*Math.PI,true);
ctx.closePath();
ctx.fill();
}
</script>