javascript 画曲线图
时间: 2023-08-14 20:06:37 浏览: 87
在vue中使用Echarts画曲线图的示例
5星 · 资源好评率100%
JavaScript 可以使用 HTML5 的 Canvas API 绘制曲线图,具体实现方式如下:
1. 在 HTML 中创建一个 Canvas 元素:
```html
<canvas id="myCanvas"></canvas>
```
2. 在 JavaScript 中获取 Canvas 的上下文对象:
```javascript
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
```
3. 定义曲线图的数据和样式:
```javascript
var data = [20, 50, 30, 80, 60];
var lineColor = "#ff6600";
var lineWidth = 2;
var pointRadius = 5;
var startX = 50;
var startY = canvas.height - 50;
var xStep = (canvas.width - startX) / (data.length - 1);
```
其中,`data` 数组存储了每个数据点的数值,`lineColor` 是曲线的颜色,`lineWidth` 是曲线的线宽,`pointRadius` 是数据点的半径,`startX` 和 `startY` 是第一个数据点的起始坐标,`xStep` 是每个数据点在 x 轴上的间距。
4. 绘制曲线图:
```javascript
ctx.beginPath();
ctx.moveTo(startX, startY);
for (var i = 0; i < data.length; i++) {
var x = startX + xStep * i;
var y = startY - data[i];
ctx.lineTo(x, y);
ctx.fillStyle = lineColor;
ctx.arc(x, y, pointRadius, 0, 2 * Math.PI);
}
ctx.lineWidth = lineWidth;
ctx.strokeStyle = lineColor;
ctx.stroke();
```
其中,`beginPath()` 方法开始一个新的路径,`moveTo()` 方法移动到起始点,`lineTo()` 方法连接每个数据点,`arc()` 方法绘制每个数据点的圆形,`lineWidth` 和 `strokeStyle` 属性设置曲线的线宽和颜色,`stroke()` 方法绘制曲线。
完整代码如下:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>曲线图示例</title>
</head>
<body>
<canvas id="myCanvas"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
var data = [20, 50, 30, 80, 60];
var lineColor = "#ff6600";
var lineWidth = 2;
var pointRadius = 5;
var startX = 50;
var startY = canvas.height - 50;
var xStep = (canvas.width - startX) / (data.length - 1);
ctx.beginPath();
ctx.moveTo(startX, startY);
for (var i = 0; i < data.length; i++) {
var x = startX + xStep * i;
var y = startY - data[i];
ctx.lineTo(x, y);
ctx.fillStyle = lineColor;
ctx.arc(x, y, pointRadius, 0, 2 * Math.PI);
}
ctx.lineWidth = lineWidth;
ctx.strokeStyle = lineColor;
ctx.stroke();
</script>
</body>
</html>
```
运行代码后,可以看到一个简单的曲线图。可以根据实际需求进行样式和数据的调整。
阅读全文