【发布时间】:2015-06-26 07:52:33
【问题描述】:
我试图通过在标签中添加不同的 id 来获取多个画布饼图。但它不起作用。
我无法获得多个画布图表。
请提出一些修改或其他可以解决我的问题的建议。
我在下面附上我的代码:
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<title>Canvas Test</title>
</head>
<body>
<section>
<div>
<canvas id="canvas" width="400" height="300">
This text is displayed if your browser does not support HTML5 Canvas.
</canvas>
</div>
<script type="text/javascript">
var myColor = ["#ECD078", "#D95B43", "#C02942", "#542437", "#53777A"];
var myData = [10, 30, 20, 60, 40];
function getTotal() {
var myTotal = 0;
for (var j = 0; j < myData.length; j++) {
myTotal += (typeof myData[j] == 'number') ? myData[j] : 0;
}
return myTotal;
}
function plotData() {
var canvas;
var ctx;
var lastend = 0;
var myTotal = getTotal();
canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (var i = 0; i < myData.length; i++) {
ctx.fillStyle = myColor[i];
ctx.beginPath();
ctx.moveTo(200, 150);
ctx.arc(200, 150, 150, lastend, lastend +
(Math.PI * 2 * (myData[i] / myTotal)), false);
ctx.lineTo(200, 150);
ctx.fill();
lastend += Math.PI * 2 * (myData[i] / myTotal);
}
}
plotData();
</script>
</section>
</body>
</html>
【问题讨论】:
-
您想在同一个画布上放置多个饼图还是需要多个画布?
-
@ Niddro ......我想使用画布在同一页面上为不同数据使用不同的饼图。
标签: javascript html canvas gsp