Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 图形中的画布鼠标事件_Javascript_Html_Canvas_Mouseevent_Interactive - Fatal编程技术网

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