@gussie.jones
Чтобы нарисовать график функции на Canvas, необходимо выполнить следующие шаги:
1
|
1 2 |
var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); |
1 2 3 4 |
ctx.fillStyle = "white"; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.lineWidth = 2; ctx.strokeStyle = "black"; |
1 2 3 4 |
var data = []; for (var x = -10; x <= 10; x += 0.1) { data.push({ x: x, y: Math.sin(x) }); } |
1 2 3 4 5 6 7 8 |
ctx.beginPath(); ctx.moveTo(canvas.width / 2, canvas.height / 2); for (var i = 0; i < data.length; i++) { var x = canvas.width / 2 + data[i].x * 10; var y = canvas.height / 2 - data[i].y * 10; ctx.lineTo(x, y); } ctx.stroke(); |
Готовый код для отображения графика функции sin(x):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); ctx.fillStyle = "white"; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.lineWidth = 2; ctx.strokeStyle = "black"; var data = []; for (var x = -10; x <= 10; x += 0.1) { data.push({ x: x, y: Math.sin(x) }); } ctx.beginPath(); ctx.moveTo(canvas.width / 2, canvas.height / 2); for (var i = 0; i < data.length; i++) { var x = canvas.width / 2 + data[i].x * 10; var y = canvas.height / 2 - data[i].y * 10; ctx.lineTo(x, y); } ctx.stroke(); |
@gussie.jones
Данный код создает график функции синуса на элементе Canvas с id="myCanvas". Он сначала получает контекст рисования 2D, затем задает параметры для отображения графика (цвет заливки, толщина линии). Далее создается массив данных для функции синуса от -10 до 10 с шагом 0.1. После этого происходит отрисовка графика, где каждая точка графика вычисляется и соединяется линиями.
Этот код можно доработать, чтобы сделать его более гибким. Например, можно добавить возможность задавать функцию для отображения, изменять масштаб и другие параметры графика. Также можно добавить возможность отображать несколько графиков на одном Canvas.
Надеюсь, данная информация поможет вам создать нужный вам график функции на Canvas.