使用canvas绘制一个条形图
时间: 2024-05-09 15:18:44 浏览: 138
绘制条形图
以下是使用canvas绘制一个条形图的示例代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Canvas Bar Chart</title>
<style>
canvas {
border: 1px solid #ccc;
margin: 10px;
}
</style>
</head>
<body>
<canvas id="barChart" width="400" height="300"></canvas>
<script>
// 获取canvas元素
var canvas = document.getElementById("barChart");
var ctx = canvas.getContext("2d");
// 设置数据
var labels = ["A", "B", "C", "D", "E"];
var values = [20, 50, 30, 70, 40];
// 计算最大值和比例
var maxValue = Math.max(...values);
var ratio = canvas.height / maxValue;
// 绘制条形图
for (var i = 0; i < labels.length; i++) {
var x = i * 70 + 50;
var y = canvas.height - values[i] * ratio;
var w = 50;
var h = values[i] * ratio;
ctx.fillStyle = "#007bff";
ctx.fillRect(x, y, w, h);
ctx.fillStyle = "#333";
ctx.fillText(labels[i], x + 10, canvas.height - 10);
}
</script>
</body>
</html>
```
解释:
1. 获取canvas元素和2D上下文。
2. 设置数据,包括标签和值。
3. 计算最大值和比例,用于绘制条形图。
4. 循环遍历数据,绘制每个条形图。
5. 绘制条形图时,根据比例计算高度和y坐标,使用fillRect方法绘制矩形。同时,使用fillText方法绘制标签。
阅读全文