你留个联系方式,我自己写了个。在这里被百度限制字数了。预览:(完整版在附件中)ctx.beginPath();
ctx.moveTo(0,Oy);
ctx.lineTo(canvas.width,Oy);
ctx.moveTo(Ox,0);
ctx.lineTo(Ox,canvas.height);
ctx.stroke();
ctx.closePath();
var x=y=0;//x,y坐标
var x1=-200,x2=200;//定义区间[x1,x2].
var Xrange=0.5; //定义在区间[x1,x2]里面每隔多大x值画一个点
function drawCurve(){
for(x=x1;x<=x2;x+=Xrange){
y=(x-50)*(-x+50)/50+50;//这个式子是等价于y=-1/50(x-50)²+50的。
ctx.strokeRect(x+Ox,Oy-y,Xrange/10,Xrange/10)
}
}
drawCurve();
canvas.addEventListener("mousemove",function(e){
document.getElementById("showXY").innerHTML="("+(e.clientX-Ox)+","+(Oy-e.clientY)+")";
})