Javascript 图形中的画布鼠标事件
我已经制作了一个简单的绘图功能(最终将用于股票),我遇到的一个问题是如何制作,这样当鼠标移动到图表上的某个点时,该点的数据就会显示出来。这是我的密码:Javascript 图形中的画布鼠标事件,javascript,html,canvas,mouseevent,interactive,Javascript,Html,Canvas,Mouseevent,Interactive,我已经制作了一个简单的绘图功能(最终将用于股票),我遇到的一个问题是如何制作,这样当鼠标移动到图表上的某个点时,该点的数据就会显示出来。这是我的密码: var y = [100,101,103,110,107,109] var hy = 500; var hw = (9/10)*hy; var ny = []; function newy(){ ny = []; for (var i=0; i<y.length; i++) { ny.push(y[i]-getmin(y))
var y = [100,101,103,110,107,109]
var hy = 500;
var hw = (9/10)*hy;
var ny = [];
function newy(){
ny = [];
for (var i=0; i<y.length; i++) {
ny.push(y[i]-getmin(y));
}
return ny;
}
window.onload = function() {
newy();
var canvas = document.getElementById('canvas');
if (canvas.getContext) {
var ctx = canvas.getContext('2d');
ctx.beginPath();
for (var i=0; i < y.length; i++) {
ctx.lineTo(optx(i), opty(i));
ctx.fillText(y.length-i-1, optx(i), hy);
ctx.fillText(y[i], 0, opty(i));
}
ctx.stroke();
ctx.closePath();
for (var k=0; k < y.length; k++) {
ctx.beginPath();
ctx.arc(optx(k), opty(k),4,0,2*Math.PI);
ctx.fill();
}
}
}
function getmax(array) {
return Math.max.apply(null,array);
}
function getmin(array) {
return Math.min.apply(null,array);
}
function opty(i){
return ((hw-hw*(ny[i])/(getmax(ny)))+(1/20)*hw);
}
function optx(i){
return ((hw)*((i)/(ny.length-1))+(1/20)*hw);
}
var y=[100101103110107109]
var hy=500;
var hw=(9/10)*hy;
var ny=[];
函数newy(){
纽约=[];
对于(var i=0;i