Сообщение от him
|
надо красиво нарисовать график.
|
Если имеется всего несколько точек, то рисование lineTo сделает ломаную. Потому что за единицу размера (расстояние по оси Х между соседними точками) придется взять не один, а несколько пикселей.
Тебе нужен bezierCurveTo.
https://msiter.ru/references/html5-canvas/beziercurveto
Контрольные точки (см.картинку в статье) лежат на касательных, проходящих через твои точки. Остаётся только смекнуть углы наклона этих касательных.
Для любой точки (кроме двух крайних) можно считать, что касательная параллельна линии, проходящей через соседнюю точку слева и соседнюю точку справа. Какую касательную брать для первой и последней точки, сходу не придумывается, тут поэкспериментируй сам..
Ну и второй момент - где именно на этих касательных ставить контрольные точки. Навскидку подойдёт вариант брать по 1/3 единичного расстояния по оси Х, хотя опять же тут надо экспериментировать.