Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/03/2013, 04:13
japarisid
 
Fecha de Ingreso: mayo-2012
Ubicación: Valencia
Mensajes: 67
Antigüedad: 12 años
Puntos: 0
Pregunta Gráfica con canvas

Buenas,
Tengo una gráfica que genero con canvas que de momento se rellena con datos aleatorios y la actualizo cada segundo. Aquí la función que ejecuto cada x segundos:

Código:
function draw() {

    var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");
	
	var ancho = document.getElementById("canvas").width;
	var punto = ancho/(puntos_grafica-1);
	var alto = document.getElementById("canvas").height;	
	
	context.beginPath();
	context.moveTo(0, alto);
	
	var array = new Array(puntos_grafica-1);
	for (i=1;i<puntos_grafica;i++) {
		var aleatorio = Math.floor(Math.random()*101)
		array[i] = aleatorio;
	}
	
	var i
	for (i=1;i<puntos_grafica;i++) {
		context.lineTo(punto*i, alto-(array[i]));
	} 
	

	context.stroke();
	

}
Esta función la llamo con un setInterval cada x segundos para que pinte la gráfica, pero cada esos segundos la siguiente la pinta encima y así todo el rato.

Sé que parar borrarla se usa

Código:
clearRect(0, 0, ancho, alto);
Pero no sé donde ponerlo porque si lo pongo despues del context.stroke() no borra. Y si lo pongo antes, nunca llega a pintar.
¿Como lo hago para que cada x segundos borre lo que haya antes y la pinte con los nuevos datos?

Gracias.